R语言常用函数集合
2015-06-17 18:08
567 查看
melt
melt(data, id.vars, measure.vars, variable.name = "variable", ..., na.rm = FALSE, value.name = "value", factorsAsStrings = TRUE)
id.vars 表示固定不变的列
measure.vars 控制变量,需要处理的列,将这些列名作为某一列的数值
variable.name 重塑后控制变量的列名
value.name 重塑后数值变量的列名
如果data为matrix格式,则不执行上述标准,变成行列的对应值
## ## melt> set.seed(45) ## ## melt> require(reshape2) ## ## melt> require(data.table) ## ## melt> DT <- data.table( ## melt+ i1 = c(1:5, NA), ## melt+ i2 = c(NA,6,7,8,9,10), ## melt+ f1 = factor(sample(c(letters[1:3], NA), 6, TRUE)), ## melt+ c1 = sample(c(letters[1:3], NA), 6, TRUE), ## melt+ d1 = as.Date(c(1:3,NA,4:5), origin="2013-09-01"), ## melt+ d2 = as.Date(6:1, origin="2012-01-01")) ## ## melt> DT[, l1 := DT[, list(c=list(rep(i1, sample(5,1)))), by = i1]$c] # list cols ## i1 i2 f1 c1 d1 d2 l1 ## 1: 1 NA c a 2013-09-02 2012-01-07 1,1 ## 2: 2 6 b c 2013-09-03 2012-01-06 2,2,2 ## 3: 3 7 a a 2013-09-04 2012-01-05 3,3,3 ## 4: 4 8 b a <NA> 2012-01-04 4,4,4 ## 5: 5 9 b b 2013-09-05 2012-01-03 5,5,5,5,5 ## 6: NA 10 b NA 2013-09-06 2012-01-02 NA ## ## melt> DT[, l2 := DT[, list(c=list(rep(c1, sample(5,1)))), by = i1]$c] ## i1 i2 f1 c1 d1 d2 l1 l2 ## 1: 1 NA c a 2013-09-02 2012-01-07 1,1 a,a,a ## 2: 2 6 b c 2013-09-03 2012-01-06 2,2,2 c,c ## 3: 3 7 a a 2013-09-04 2012-01-05 3,3,3 a ## 4: 4 8 b a <NA> 2012-01-04 4,4,4 a,a ## 5: 5 9 b b 2013-09-05 2012-01-03 5,5,5,5,5 b,b,b ## 6: NA 10 b NA 2013-09-06 2012-01-02 NA NA,NA,NA,NA ## ## melt> # basic examples ## melt> melt(DT, id=1:2, measure=3) ## i1 i2 variable value ## 1: 1 NA f1 c ## 2: 2 6 f1 b ## 3: 3 7 f1 a ## 4: 4 8 f1 b ## 5: 5 9 f1 b ## 6: NA 10 f1 b ## ## melt> melt(DT, id=c("i1", "i2"), measure="f1", value.factor=TRUE) # same as above, but value is factor ## i1 i2 variable value ## 1: 1 NA f1 c ## 2: 2 6 f1 b ## 3: 3 7 f1 a ## 4: 4 8 f1 b ## 5: 5 9 f1 b ## 6: NA 10 f1 b ## ## melt> # on Date ## melt> melt(DT, id=c("i1", "f1"), measure=c("d1", "d2")) # date class attribute lost ## i1 f1 variable value ## 1: 1 c d1 15950 ## 2: 2 b d1 15951 ## 3: 3 a d1 15952 ## 4: 4 b d1 NA ## 5: 5 b d1 15953 ## 6: NA b d1 15954 ## 7: 1 c d2 15346 ## 8: 2 b d2 15345 ## 9: 3 a d2 15344 ## 10: 4 b d2 15343 ## 11: 5 b d2 15342 ## 12: NA b d2 15341 ## ## melt> melt(DT, id=c("i1", "f1"), measure=c("c1", "d1")) # value is char, date attribute lost
## Warning in melt.data.table(DT, id = c("i1", "f1"), measure = c("c1", ## "d1")): All 'measure.vars are NOT of the SAME type. By order of hierarchy, ## the molten data value column will be of type 'character'. Therefore all ## measure variables that are not of type 'character' will be coerced to. ## Check the DETAILS section of ?melt.data.table for more on coercion.
## i1 f1 variable value ## 1: 1 c c1 a ## 2: 2 b c1 c ## 3: 3 a c1 a ## 4: 4 b c1 a ## 5: 5 b c1 b ## 6: NA b c1 NA ## 7: 1 c d1 15950 ## 8: 2 b d1 15951 ## 9: 3 a d1 15952 ## 10: 4 b d1 NA ## 11: 5 b d1 15953 ## 12: NA b d1 15954 ## ## melt> # on list ## melt> melt(DT, id=1, measure=c("l1", "l2")) # value is a list ## i1 variable value ## 1: 1 l1 1,1 ## 2: 2 l1 2,2,2 ## 3: 3 l1 3,3,3 ## 4: 4 l1 4,4,4 ## 5: 5 l1 5,5,5,5,5 ## 6: NA l1 NA ## 7: 1 l2 a,a,a ## 8: 2 l2 c,c ## 9: 3 l2 a ## 10: 4 l2 a,a ## 11: 5 l2 b,b,b ## 12: NA l2 NA,NA,NA,NA ## ## melt> melt(DT, id=1, measure=c("c1", "l1")) # c1 coerced to list
## Warning in melt.data.table(DT, id = 1, measure = c("c1", "l1")): All ## 'measure.vars are NOT of the SAME type. By order of hierarchy, the molten ## data value column will be of type 'list'. Therefore all measure variables ## that are not of type 'list' will be coerced to. Check the DETAILS section ## of ?melt.data.table for more on coercion.
## i1 variable value ## 1: 1 c1 a ## 2: 2 c1 c ## 3: 3 c1 a ## 4: 4 c1 a ## 5: 5 c1 b ## 6: NA c1 NA ## 7: 1 l1 1,1 ## 8: 2 l1 2,2,2 ## 9: 3 l1 3,3,3 ## 10: 4 l1 4,4,4 ## 11: 5 l1 5,5,5,5,5 ## 12: NA l1 NA ## ## melt> # on character ## melt> melt(DT, id=1, measure=c("c1", "f1")) # value is char ## i1 variable value ## 1: 1 c1 a ## 2: 2 c1 c ## 3: 3 c1 a ## 4: 4 c1 a ## 5: 5 c1 b ## 6: NA c1 NA ## 7: 1 f1 c ## 8: 2 f1 b ## 9: 3 f1 a ## 10: 4 f1 b ## 11: 5 f1 b ## 12: NA f1 b ## ## melt> melt(DT, id=1, measure=c("c1", "i2")) # i2 coerced to char
## Warning in melt.data.table(DT, id = 1, measure = c("c1", "i2")): All ## 'measure.vars are NOT of the SAME type. By order of hierarchy, the molten ## data value column will be of type 'character'. Therefore all measure ## variables that are not of type 'character' will be coerced to. Check the ## DETAILS section of ?melt.data.table for more on coercion.
## i1 variable value ## 1: 1 c1 a ## 2: 2 c1 c ## 3: 3 c1 a ## 4: 4 c1 a ## 5: 5 c1 b ## 6: NA c1 NA ## 7: 1 i2 NA ## 8: 2 i2 6 ## 9: 3 i2 7 ## 10: 4 i2 8 ## 11: 5 i2 9 ## 12: NA i2 10 ## ## melt> # on na.rm=TRUE ## melt> melt(DT, id=1, measure=c("c1", "i2"), na.rm=TRUE) # remove NA
## Warning in melt.data.table(DT, id = 1, measure = c("c1", "i2"), na.rm = ## TRUE): All 'measure.vars are NOT of the SAME type. By order of hierarchy, ## the molten data value column will be of type 'character'. Therefore all ## measure variables that are not of type 'character' will be coerced to. ## Check the DETAILS section of ?melt.data.table for more on coercion.
## i1 variable value ## 1: 1 c1 a ## 2: 2 c1 c ## 3: 3 c1 a ## 4: 4 c1 a ## 5: 5 c1 b ## 6: 2 i2 6 ## 7: 3 i2 7 ## 8: 4 i2 8 ## 9: 5 i2 9 ## 10: NA i2 10
cast
dcast(data, formula, fun.aggregate = NULL, ..., margins = NULL, subset = NULL, fill = NULL, drop = TRUE, value.var = guess_value(data))
这是一个变宽的函数,将某一列的数值成列名
formula 就是 恒定列~改变的列(此列的数值变成列名)
acast(aqm, day ~ month ~ variable)
day为固定不变的列,month列中的值变为扩展列的列名, variable列中的数值拆分成第三维的数据,按照list进行输出
acast(aqm, month ~ variable, mean, margins = TRUE)
month为固定不变的列,variable列中数值拆分成扩展列的列名,此时对于month对应多个day,可以进行 mean操作(也就是fun.aggregate), margin 可以自己体会
acast(chick_m, chick ~ time, mean, subset = .(time < 10 & chick < 20))
subset对变量进行限制。 ‘.’函数将变量 time, chick 当做字符串来操作而不是他们代表的数值
## ## cast> #Air quality example ## cast> names(airquality) <- tolower(names(airquality)) ## ## cast> aqm <- melt(airquality, id=c("month", "day"), na.rm=TRUE) ## ## cast> acast(aqm, day ~ month ~ variable) ## , , ozone ## ## 5 6 7 8 9 ## 1 41 NA 135 39 96 ## 2 36 NA 49 9 78 ## 3 12 NA 32 16 73 ## 4 18 NA NA 78 91 ## 5 NA NA 64 35 47 ## 6 28 NA 40 66 32 ## 7 23 29 77 122 20 ## 8 19 NA 97 89 23 ## 9 8 71 97 110 21 ## 10 NA 39 85 NA 24 ## 11 7 NA NA NA 44 ## 12 16 NA 10 44 21 ## 13 11 23 27 28 28 ## 14 14 NA NA 65 9 ## 15 18 NA 7 NA 13 ## 16 14 21 48 22 46 ## 17 34 37 35 59 18 ## 18 6 20 61 23 13 ## 19 30 12 79 31 24 ## 20 11 13 63 44 16 ## 21 1 NA 16 21 13 ## 22 11 NA NA 9 23 ## 23 4 NA NA NA 36 ## 24 32 NA 80 45 7 ## 25 NA NA 108 168 14 ## 26 NA NA 20 73 30 ## 27 NA NA 52 NA NA ## 28 23 NA 82 76 14 ## 29 45 NA 50 118 18 ## 30 115 NA 64 84 20 ## 31 37 NA 59 85 NA ## ## , , solar.r ## ## 5 6 7 8 9 ## 1 190 286 269 83 167 ## 2 118 287 248 24 197 ## 3 149 242 236 77 183 ## 4 313 186 101 NA 189 ## 5 NA 220 175 NA 95 ## 6 NA 264 314 NA 92 ## 7 299 127 276 255 252 ## 8 99 273 267 229 220 ## 9 19 291 272 207 230 ## 10 194 323 175 222 259 ## 11 NA 259 139 137 236 ## 12 256 250 264 192 259 ## 13 290 148 175 273 238 ## 14 274 332 291 157 24 ## 15 65 322 48 64 112 ## 16 334 191 260 71 237 ## 17 307 284 274 51 224 ## 18 78 37 285 115 27 ## 19 322 120 187 244 238 ## 20 44 137 220 190 201 ## 21 8 150 7 259 238 ## 22 320 59 258 36 14 ## 23 25 91 295 255 139 ## 24 92 250 294 212 49 ## 25 66 135 223 238 20 ## 26 266 127 81 215 193 ## 27 NA 47 82 153 145 ## 28 13 98 213 203 191 ## 29 252 31 275 225 131 ## 30 223 138 253 237 223 ## 31 279 NA 254 188 NA ## ## , , wind ## ## 5 6 7 8 9 ## 1 7.4 8.6 4.1 6.9 6.9 ## 2 8.0 9.7 9.2 13.8 5.1 ## 3 12.6 16.1 9.2 7.4 2.8 ## 4 11.5 9.2 10.9 6.9 4.6 ## 5 14.3 8.6 4.6 7.4 7.4 ## 6 14.9 14.3 10.9 4.6 15.5 ## 7 8.6 9.7 5.1 4.0 10.9 ## 8 13.8 6.9 6.3 10.3 10.3 ## 9 20.1 13.8 5.7 8.0 10.9 ## 10 8.6 11.5 7.4 8.6 9.7 ## 11 6.9 10.9 8.6 11.5 14.9 ## 12 9.7 9.2 14.3 11.5 15.5 ## 13 9.2 8.0 14.9 11.5 6.3 ## 14 10.9 13.8 14.9 9.7 10.9 ## 15 13.2 11.5 14.3 11.5 11.5 ## 16 11.5 14.9 6.9 10.3 6.9 ## 17 12.0 20.7 10.3 6.3 13.8 ## 18 18.4 9.2 6.3 7.4 10.3 ## 19 11.5 11.5 5.1 10.9 10.3 ## 20 9.7 10.3 11.5 10.3 8.0 ## 21 9.7 6.3 6.9 15.5 12.6 ## 22 16.6 1.7 9.7 14.3 9.2 ## 23 9.7 4.6 11.5 12.6 10.3 ## 24 12.0 6.3 8.6 9.7 10.3 ## 25 16.6 8.0 8.0 3.4 16.6 ## 26 14.9 8.0 8.6 8.0 6.9 ## 27 8.0 10.3 12.0 5.7 13.2 ## 28 12.0 11.5 7.4 9.7 14.3 ## 29 14.9 14.9 7.4 2.3 8.0 ## 30 5.7 8.0 7.4 6.3 11.5 ## 31 7.4 NA 9.2 6.3 NA ## ## , , temp ## ## 5 6 7 8 9 ## 1 67 78 84 81 91 ## 2 72 74 85 81 92 ## 3 74 67 81 82 93 ## 4 62 84 84 86 93 ## 5 56 85 83 85 87 ## 6 66 79 83 87 84 ## 7 65 82 88 89 80 ## 8 59 87 92 90 78 ## 9 61 90 92 90 75 ## 10 69 87 89 92 73 ## 11 74 93 82 86 81 ## 12 69 92 73 86 76 ## 13 66 82 81 82 77 ## 14 68 80 91 80 71 ## 15 58 79 80 79 71 ## 16 64 77 81 77 78 ## 17 66 72 82 79 67 ## 18 57 65 84 76 76 ## 19 68 73 87 78 68 ## 20 62 76 85 78 82 ## 21 59 77 74 77 64 ## 22 73 76 81 72 71 ## 23 61 76 82 75 81 ## 24 61 76 86 79 69 ## 25 57 75 85 81 63 ## 26 58 78 82 86 70 ## 27 57 73 86 88 77 ## 28 67 80 88 97 75 ## 29 81 77 86 94 76 ## 30 79 83 83 96 68 ## 31 76 NA 81 94 NA ## ## ## cast> acast(aqm, month ~ variable, mean) ## ozone solar.r wind temp ## 5 23.61538 181.2963 11.622581 65.54839 ## 6 29.44444 190.1667 10.266667 79.10000 ## 7 59.11538 216.4839 8.941935 83.90323 ## 8 59.96154 171.8571 8.793548 83.96774 ## 9 31.44828 167.4333 10.180000 76.90000 ## ## cast> acast(aqm, month ~ variable, mean, margins = TRUE) ## ozone solar.r wind temp (all) ## 5 23.61538 181.2963 11.622581 65.54839 68.70696 ## 6 29.44444 190.1667 10.266667 79.10000 87.38384 ## 7 59.11538 216.4839 8.941935 83.90323 93.49748 ## 8 59.96154 171.8571 8.793548 83.96774 79.71207 ## 9 31.44828 167.4333 10.180000 76.90000 71.82689 ## (all) 42.12931 185.9315 9.957516 77.88235 80.05722 ## ## cast> dcast(aqm, month ~ variable, mean, margins = c("month", "variable")) ## month ozone solar.r wind temp (all) ## 1 5 23.61538 181.2963 11.622581 65.54839 68.70696 ## 2 6 29.44444 190.1667 10.266667 79.10000 87.38384 ## 3 7 59.11538 216.4839 8.941935 83.90323 93.49748 ## 4 8 59.96154 171.8571 8.793548 83.96774 79.71207 ## 5 9 31.44828 167.4333 10.180000 76.90000 71.82689 ## 6 (all) 42.12931 185.9315 9.957516 77.88235 80.05722 ## ## cast> library(plyr) # needed to access . function ## ## cast> acast(aqm, variable ~ month, mean, subset = .(variable == "ozone")) ## 5 6 7 8 9 ## ozone 23.61538 29.44444 59.11538 59.96154 31.44828 ## ## cast> acast(aqm, variable ~ month, mean, subset = .(month == 5)) ## 5 ## ozone 23.61538 ## solar.r 181.29630 ## wind 11.62258 ## temp 65.54839 ## ## cast> #Chick weight example ## cast> names(ChickWeight) <- tolower(names(ChickWeight)) ## ## cast> chick_m <- melt(ChickWeight, id=2:4, na.rm=TRUE) ## ## cast> dcast(chick_m, time ~ variable, mean) # average effect of time ## time weight ## 1 0 41.06000 ## 2 2 49.22000 ## 3 4 59.95918 ## 4 6 74.30612 ## 5 8 91.24490 ## 6 10 107.83673 ## 7 12 129.24490 ## 8 14 143.81250 ## 9 16 168.08511 ## 10 18 190.19149 ## 11 20 209.71739 ## 12 21 218.68889 ## ## cast> dcast(chick_m, diet ~ variable, mean) # average effect of diet ## diet weight ## 1 1 102.6455 ## 2 2 122.6167 ## 3 3 142.9500 ## 4 4 135.2627 ## ## cast> acast(chick_m, diet ~ time, mean) # average effect of diet & time ## 0 2 4 6 8 10 12 14 ## 1 41.4 47.25 56.47368 66.78947 79.68421 93.05263 108.5263 123.3889 ## 2 40.7 49.40 59.80000 75.40000 91.70000 108.50000 131.3000 141.9000 ## 3 40.8 50.40 62.20000 77.90000 98.40000 117.10000 144.4000 164.5000 ## 4 41.0 51.80 64.50000 83.90000 105.60000 126.00000 151.4000 161.8000 ## 16 18 20 21 ## 1 144.6471 158.9412 170.4118 177.7500 ## 2 164.7000 187.7000 205.6000 214.7000 ## 3 197.4000 233.1000 258.9000 270.3000 ## 4 182.0000 202.9000 233.8889 238.5556 ## ## cast> # How many chicks at each time? - checking for balance ## cast> acast(chick_m, time ~ diet, length) ## 1 2 3 4 ## 0 20 10 10 10 ## 2 20 10 10 10 ## 4 19 10 10 10 ## 6 19 10 10 10 ## 8 19 10 10 10 ## 10 19 10 10 10 ## 12 19 10 10 10 ## 14 18 10 10 10 ## 16 17 10 10 10 ## 18 17 10 10 10 ## 20 17 10 10 9 ## 21 16 10 10 9 ## ## cast> acast(chick_m, chick ~ time, mean) ## 0 2 4 6 8 10 12 14 16 18 20 21 ## 18 39 35 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ## 16 41 45 49 51 57 51 54 NaN NaN NaN NaN NaN ## 15 41 49 56 64 68 68 67 68 NaN NaN NaN NaN ## 13 41 48 53 60 65 67 71 70 71 81 91 96 ## 9 42 51 59 68 85 96 90 92 93 100 100 98 ## 20 41 47 54 58 65 73 77 89 98 107 115 117 ## 10 41 44 52 63 74 81 89 96 101 112 120 124 ## 8 42 50 61 71 84 93 110 116 126 134 125 NaN ## 17 42 51 61 72 83 89 98 103 113 123 133 142 ## 19 43 48 55 62 65 71 82 88 106 120 144 157 ## 4 42 49 56 67 74 87 102 108 136 154 160 157 ## 6 41 49 59 74 97 124 141 148 155 160 160 157 ## 11 43 51 63 84 112 139 168 177 182 184 181 175 ## 3 43 39 55 67 84 99 115 138 163 187 198 202 ## 1 42 51 59 64 76 93 106 125 149 171 199 205 ## 12 41 49 56 62 72 88 119 135 162 185 195 205 ## 2 40 49 58 72 84 103 122 138 162 187 209 215 ## 5 41 42 48 60 79 106 141 164 197 199 220 223 ## 14 41 49 62 79 101 128 164 192 227 248 259 266 ## 7 41 49 57 71 89 112 146 174 218 250 288 305 ## 24 42 52 58 74 66 68 70 71 72 72 76 74 ## 30 42 48 59 72 85 98 115 122 143 151 157 150 ## 22 41 55 64 77 90 95 108 111 131 148 164 167 ## 23 43 52 61 73 90 103 127 135 145 163 170 175 ## 27 39 46 58 73 87 100 115 123 144 163 185 192 ## 28 39 46 58 73 92 114 145 156 184 207 212 233 ## 26 42 48 57 74 93 114 136 147 169 205 236 251 ## 25 40 49 62 78 102 124 146 164 197 231 259 265 ## 29 39 48 59 74 87 106 134 150 187 230 279 309 ## 21 40 50 62 86 125 163 217 240 275 307 318 331 ## 33 39 50 63 77 96 111 137 144 151 146 156 147 ## 37 41 48 56 68 80 83 103 112 135 157 169 178 ## 36 39 48 61 76 98 116 145 166 198 227 225 220 ## 31 42 53 62 73 85 102 123 138 170 204 235 256 ## 39 42 50 61 78 89 109 130 146 170 214 250 272 ## 38 41 49 61 74 98 109 128 154 192 232 280 290 ## 32 41 49 65 82 107 129 159 179 221 263 291 305 ## 40 41 55 66 79 101 120 154 182 215 262 295 321 ## 34 41 49 63 85 107 134 164 186 235 294 327 341 ## 35 41 53 64 87 123 158 201 238 287 332 361 373 ## 44 42 51 65 86 103 118 127 138 145 146 NaN NaN ## 45 41 50 61 78 98 117 135 141 147 174 197 196 ## 43 42 55 69 96 131 157 184 188 197 198 199 200 ## 41 42 51 66 85 103 124 155 153 175 184 199 204 ## 47 41 53 66 79 100 123 148 157 168 185 210 205 ## 49 40 53 64 85 108 128 152 166 184 203 233 237 ## 46 40 52 62 82 101 120 144 156 173 210 231 238 ## 50 41 54 67 84 105 122 155 175 205 234 264 264 ## 42 42 49 63 84 103 126 160 174 204 234 269 281 ## 48 39 50 62 80 104 125 154 170 222 261 303 322 ## ## cast> acast(chick_m, chick ~ time, mean, subset = .(time < 10 & chick < 20)) ## 0 2 4 6 8 ## 18 39 35 NaN NaN NaN ## 16 41 45 49 51 57 ## 15 41 49 56 64 68 ## 13 41 48 53 60 65 ## 9 42 51 59 68 85 ## ## cast> acast(chick_m, time ~ diet, length) ## 1 2 3 4 ## 0 20 10 10 10 ## 2 20 10 10 10 ## 4 19 10 10 10 ## 6 19 10 10 10 ## 8 19 10 10 10 ## 10 19 10 10 10 ## 12 19 10 10 10 ## 14 18 10 10 10 ## 16 17 10 10 10 ## 18 17 10 10 10 ## 20 17 10 10 9 ## 21 16 10 10 9 ## ## cast> dcast(chick_m, diet + chick ~ time) ## diet chick 0 2 4 6 8 10 12 14 16 18 20 21 ## 1 1 18 39 35 NA NA NA NA NA NA NA NA NA NA ## 2 1 16 41 45 49 51 57 51 54 NA NA NA NA NA ## 3 1 15 41 49 56 64 68 68 67 68 NA NA NA NA ## 4 1 13 41 48 53 60 65 67 71 70 71 81 91 96 ## 5 1 9 42 51 59 68 85 96 90 92 93 100 100 98 ## 6 1 20 41 47 54 58 65 73 77 89 98 107 115 117 ## 7 1 10 41 44 52 63 74 81 89 96 101 112 120 124 ## 8 1 8 42 50 61 71 84 93 110 116 126 134 125 NA ## 9 1 17 42 51 61 72 83 89 98 103 113 123 133 142 ## 10 1 19 43 48 55 62 65 71 82 88 106 120 144 157 ## 11 1 4 42 49 56 67 74 87 102 108 136 154 160 157 ## 12 1 6 41 49 59 74 97 124 141 148 155 160 160 157 ## 13 1 11 43 51 63 84 112 139 168 177 182 184 181 175 ## 14 1 3 43 39 55 67 84 99 115 138 163 187 198 202 ## 15 1 1 42 51 59 64 76 93 106 125 149 171 199 205 ## 16 1 12 41 49 56 62 72 88 119 135 162 185 195 205 ## 17 1 2 40 49 58 72 84 103 122 138 162 187 209 215 ## 18 1 5 41 42 48 60 79 106 141 164 197 199 220 223 ## 19 1 14 41 49 62 79 101 128 164 192 227 248 259 266 ## 20 1 7 41 49 57 71 89 112 146 174 218 250 288 305 ## 21 2 24 42 52 58 74 66 68 70 71 72 72 76 74 ## 22 2 30 42 48 59 72 85 98 115 122 143 151 157 150 ## 23 2 22 41 55 64 77 90 95 108 111 131 148 164 167 ## 24 2 23 43 52 61 73 90 103 127 135 145 163 170 175 ## 25 2 27 39 46 58 73 87 100 115 123 144 163 185 192 ## 26 2 28 39 46 58 73 92 114 145 156 184 207 212 233 ## 27 2 26 42 48 57 74 93 114 136 147 169 205 236 251 ## 28 2 25 40 49 62 78 102 124 146 164 197 231 259 265 ## 29 2 29 39 48 59 74 87 106 134 150 187 230 279 309 ## 30 2 21 40 50 62 86 125 163 217 240 275 307 318 331 ## 31 3 33 39 50 63 77 96 111 137 144 151 146 156 147 ## 32 3 37 41 48 56 68 80 83 103 112 135 157 169 178 ## 33 3 36 39 48 61 76 98 116 145 166 198 227 225 220 ## 34 3 31 42 53 62 73 85 102 123 138 170 204 235 256 ## 35 3 39 42 50 61 78 89 109 130 146 170 214 250 272 ## 36 3 38 41 49 61 74 98 109 128 154 192 232 280 290 ## 37 3 32 41 49 65 82 107 129 159 179 221 263 291 305 ## 38 3 40 41 55 66 79 101 120 154 182 215 262 295 321 ## 39 3 34 41 49 63 85 107 134 164 186 235 294 327 341 ## 40 3 35 41 53 64 87 123 158 201 238 287 332 361 373 ## 41 4 44 42 51 65 86 103 118 127 138 145 146 NA NA ## 42 4 45 41 50 61 78 98 117 135 141 147 174 197 196 ## 43 4 43 42 55 69 96 131 157 184 188 197 198 199 200 ## 44 4 41 42 51 66 85 103 124 155 153 175 184 199 204 ## 45 4 47 41 53 66 79 100 123 148 157 168 185 210 205 ## 46 4 49 40 53 64 85 108 128 152 166 184 203 233 237 ## 47 4 46 40 52 62 82 101 120 144 156 173 210 231 238 ## 48 4 50 41 54 67 84 105 122 155 175 205 234 264 264 ## 49 4 42 42 49 63 84 103 126 160 174 204 234 269 281 ## 50 4 48 39 50 62 80 104 125 154 170 222 261 303 322 ## ## cast> acast(chick_m, diet + chick ~ time) ## 0 2 4 6 8 10 12 14 16 18 20 21 ## 1_18 39 35 NA NA NA NA NA NA NA NA NA NA ## 1_16 41 45 49 51 57 51 54 NA NA NA NA NA ## 1_15 41 49 56 64 68 68 67 68 NA NA NA NA ## 1_13 41 48 53 60 65 67 71 70 71 81 91 96 ## 1_9 42 51 59 68 85 96 90 92 93 100 100 98 ## 1_20 41 47 54 58 65 73 77 89 98 107 115 117 ## 1_10 41 44 52 63 74 81 89 96 101 112 120 124 ## 1_8 42 50 61 71 84 93 110 116 126 134 125 NA ## 1_17 42 51 61 72 83 89 98 103 113 123 133 142 ## 1_19 43 48 55 62 65 71 82 88 106 120 144 157 ## 1_4 42 49 56 67 74 87 102 108 136 154 160 157 ## 1_6 41 49 59 74 97 124 141 148 155 160 160 157 ## 1_11 43 51 63 84 112 139 168 177 182 184 181 175 ## 1_3 43 39 55 67 84 99 115 138 163 187 198 202 ## 1_1 42 51 59 64 76 93 106 125 149 171 199 205 ## 1_12 41 49 56 62 72 88 119 135 162 185 195 205 ## 1_2 40 49 58 72 84 103 122 138 162 187 209 215 ## 1_5 41 42 48 60 79 106 141 164 197 199 220 223 ## 1_14 41 49 62 79 101 128 164 192 227 248 259 266 ## 1_7 41 49 57 71 89 112 146 174 218 250 288 305 ## 2_24 42 52 58 74 66 68 70 71 72 72 76 74 ## 2_30 42 48 59 72 85 98 115 122 143 151 157 150 ## 2_22 41 55 64 77 90 95 108 111 131 148 164 167 ## 2_23 43 52 61 73 90 103 127 135 145 163 170 175 ## 2_27 39 46 58 73 87 100 115 123 144 163 185 192 ## 2_28 39 46 58 73 92 114 145 156 184 207 212 233 ## 2_26 42 48 57 74 93 114 136 147 169 205 236 251 ## 2_25 40 49 62 78 102 124 146 164 197 231 259 265 ## 2_29 39 48 59 74 87 106 134 150 187 230 279 309 ## 2_21 40 50 62 86 125 163 217 240 275 307 318 331 ## 3_33 39 50 63 77 96 111 137 144 151 146 156 147 ## 3_37 41 48 56 68 80 83 103 112 135 157 169 178 ## 3_36 39 48 61 76 98 116 145 166 198 227 225 220 ## 3_31 42 53 62 73 85 102 123 138 170 204 235 256 ## 3_39 42 50 61 78 89 109 130 146 170 214 250 272 ## 3_38 41 49 61 74 98 109 128 154 192 232 280 290 ## 3_32 41 49 65 82 107 129 159 179 221 263 291 305 ## 3_40 41 55 66 79 101 120 154 182 215 262 295 321 ## 3_34 41 49 63 85 107 134 164 186 235 294 327 341 ## 3_35 41 53 64 87 123 158 201 238 287 332 361 373 ## 4_44 42 51 65 86 103 118 127 138 145 146 NA NA ## 4_45 41 50 61 78 98 117 135 141 147 174 197 196 ## 4_43 42 55 69 96 131 157 184 188 197 198 199 200 ## 4_41 42 51 66 85 103 124 155 153 175 184 199 204 ## 4_47 41 53 66 79 100 123 148 157 168 185 210 205 ## 4_49 40 53 64 85 108 128 152 166 184 203 233 237 ## 4_46 40 52 62 82 101 120 144 156 173 210 231 238 ## 4_50 41 54 67 84 105 122 155 175 205 234 264 264 ## 4_42 42 49 63 84 103 126 160 174 204 234 269 281 ## 4_48 39 50 62 80 104 125 154 170 222 261 303 322 ## ## cast> acast(chick_m, chick ~ time ~ diet) ## , , 1 ## ## 0 2 4 6 8 10 12 14 16 18 20 21 ## 18 39 35 NA NA NA NA NA NA NA NA NA NA ## 16 41 45 49 51 57 51 54 NA NA NA NA NA ## 15 41 49 56 64 68 68 67 68 NA NA NA NA ## 13 41 48 53 60 65 67 71 70 71 81 91 96 ## 9 42 51 59 68 85 96 90 92 93 100 100 98 ## 20 41 47 54 58 65 73 77 89 98 107 115 117 ## 10 41 44 52 63 74 81 89 96 101 112 120 124 ## 8 42 50 61 71 84 93 110 116 126 134 125 NA ## 17 42 51 61 72 83 89 98 103 113 123 133 142 ## 19 43 48 55 62 65 71 82 88 106 120 144 157 ## 4 42 49 56 67 74 87 102 108 136 154 160 157 ## 6 41 49 59 74 97 124 141 148 155 160 160 157 ## 11 43 51 63 84 112 139 168 177 182 184 181 175 ## 3 43 39 55 67 84 99 115 138 163 187 198 202 ## 1 42 51 59 64 76 93 106 125 149 171 199 205 ## 12 41 49 56 62 72 88 119 135 162 185 195 205 ## 2 40 49 58 72 84 103 122 138 162 187 209 215 ## 5 41 42 48 60 79 106 141 164 197 199 220 223 ## 14 41 49 62 79 101 128 164 192 227 248 259 266 ## 7 41 49 57 71 89 112 146 174 218 250 288 305 ## 24 NA NA NA NA NA NA NA NA NA NA NA NA ## 30 NA NA NA NA NA NA NA NA NA NA NA NA ## 22 NA NA NA NA NA NA NA NA NA NA NA NA ## 23 NA NA NA NA NA NA NA NA NA NA NA NA ## 27 NA NA NA NA NA NA NA NA NA NA NA NA ## 28 NA NA NA NA NA NA NA NA NA NA NA NA ## 26 NA NA NA NA NA NA NA NA NA NA NA NA ## 25 NA NA NA NA NA NA NA NA NA NA NA NA ## 29 NA NA NA NA NA NA NA NA NA NA NA NA ## 21 NA NA NA NA NA NA NA NA NA NA NA NA ## 33 NA NA NA NA NA NA NA NA NA NA NA NA ## 37 NA NA NA NA NA NA NA NA NA NA NA NA ## 36 NA NA NA NA NA NA NA NA NA NA NA NA ## 31 NA NA NA NA NA NA NA NA NA NA NA NA ## 39 NA NA NA NA NA NA NA NA NA NA NA NA ## 38 NA NA NA NA NA NA NA NA NA NA NA NA ## 32 NA NA NA NA NA NA NA NA NA NA NA NA ## 40 NA NA NA NA NA NA NA NA NA NA NA NA ## 34 NA NA NA NA NA NA NA NA NA NA NA NA ## 35 NA NA NA NA NA NA NA NA NA NA NA NA ## 44 NA NA NA NA NA NA NA NA NA NA NA NA ## 45 NA NA NA NA NA NA NA NA NA NA NA NA ## 43 NA NA NA NA NA NA NA NA NA NA NA NA ## 41 NA NA NA NA NA NA NA NA NA NA NA NA ## 47 NA NA NA NA NA NA NA NA NA NA NA NA ## 49 NA NA NA NA NA NA NA NA NA NA NA NA ## 46 NA NA NA NA NA NA NA NA NA NA NA NA ## 50 NA NA NA NA NA NA NA NA NA NA NA NA ## 42 NA NA NA NA NA NA NA NA NA NA NA NA ## 48 NA NA NA NA NA NA NA NA NA NA NA NA ## ## , , 2 ## ## 0 2 4 6 8 10 12 14 16 18 20 21 ## 18 NA NA NA NA NA NA NA NA NA NA NA NA ## 16 NA NA NA NA NA NA NA NA NA NA NA NA ## 15 NA NA NA NA NA NA NA NA NA NA NA NA ## 13 NA NA NA NA NA NA NA NA NA NA NA NA ## 9 NA NA NA NA NA NA NA NA NA NA NA NA ## 20 NA NA NA NA NA NA NA NA NA NA NA NA ## 10 NA NA NA NA NA NA NA NA NA NA NA NA ## 8 NA NA NA NA NA NA NA NA NA NA NA NA ## 17 NA NA NA NA NA NA NA NA NA NA NA NA ## 19 NA NA NA NA NA NA NA NA NA NA NA NA ## 4 NA NA NA NA NA NA NA NA NA NA NA NA ## 6 NA NA NA NA NA NA NA NA NA NA NA NA ## 11 NA NA NA NA NA NA NA NA NA NA NA NA ## 3 NA NA NA NA NA NA NA NA NA NA NA NA ## 1 NA NA NA NA NA NA NA NA NA NA NA NA ## 12 NA NA NA NA NA NA NA NA NA NA NA NA ## 2 NA NA NA NA NA NA NA NA NA NA NA NA ## 5 NA NA NA NA NA NA NA NA NA NA NA NA ## 14 NA NA NA NA NA NA NA NA NA NA NA NA ## 7 NA NA NA NA NA NA NA NA NA NA NA NA ## 24 42 52 58 74 66 68 70 71 72 72 76 74 ## 30 42 48 59 72 85 98 115 122 143 151 157 150 ## 22 41 55 64 77 90 95 108 111 131 148 164 167 ## 23 43 52 61 73 90 103 127 135 145 163 170 175 ## 27 39 46 58 73 87 100 115 123 144 163 185 192 ## 28 39 46 58 73 92 114 145 156 184 207 212 233 ## 26 42 48 57 74 93 114 136 147 169 205 236 251 ## 25 40 49 62 78 102 124 146 164 197 231 259 265 ## 29 39 48 59 74 87 106 134 150 187 230 279 309 ## 21 40 50 62 86 125 163 217 240 275 307 318 331 ## 33 NA NA NA NA NA NA NA NA NA NA NA NA ## 37 NA NA NA NA NA NA NA NA NA NA NA NA ## 36 NA NA NA NA NA NA NA NA NA NA NA NA ## 31 NA NA NA NA NA NA NA NA NA NA NA NA ## 39 NA NA NA NA NA NA NA NA NA NA NA NA ## 38 NA NA NA NA NA NA NA NA NA NA NA NA ## 32 NA NA NA NA NA NA NA NA NA NA NA NA ## 40 NA NA NA NA NA NA NA NA NA NA NA NA ## 34 NA NA NA NA NA NA NA NA NA NA NA NA ## 35 NA NA NA NA NA NA NA NA NA NA NA NA ## 44 NA NA NA NA NA NA NA NA NA NA NA NA ## 45 NA NA NA NA NA NA NA NA NA NA NA NA ## 43 NA NA NA NA NA NA NA NA NA NA NA NA ## 41 NA NA NA NA NA NA NA NA NA NA NA NA ## 47 NA NA NA NA NA NA NA NA NA NA NA NA ## 49 NA NA NA NA NA NA NA NA NA NA NA NA ## 46 NA NA NA NA NA NA NA NA NA NA NA NA ## 50 NA NA NA NA NA NA NA NA NA NA NA NA ## 42 NA NA NA NA NA NA NA NA NA NA NA NA ## 48 NA NA NA NA NA NA NA NA NA NA NA NA ## ## , , 3 ## ## 0 2 4 6 8 10 12 14 16 18 20 21 ## 18 NA NA NA NA NA NA NA NA NA NA NA NA ## 16 NA NA NA NA NA NA NA NA NA NA NA NA ## 15 NA NA NA NA NA NA NA NA NA NA NA NA ## 13 NA NA NA NA NA NA NA NA NA NA NA NA ## 9 NA NA NA NA NA NA NA NA NA NA NA NA ## 20 NA NA NA NA NA NA NA NA NA NA NA NA ## 10 NA NA NA NA NA NA NA NA NA NA NA NA ## 8 NA NA NA NA NA NA NA NA NA NA NA NA ## 17 NA NA NA NA NA NA NA NA NA NA NA NA ## 19 NA NA NA NA NA NA NA NA NA NA NA NA ## 4 NA NA NA NA NA NA NA NA NA NA NA NA ## 6 NA NA NA NA NA NA NA NA NA NA NA NA ## 11 NA NA NA NA NA NA NA NA NA NA NA NA ## 3 NA NA NA NA NA NA NA NA NA NA NA NA ## 1 NA NA NA NA NA NA NA NA NA NA NA NA ## 12 NA NA NA NA NA NA NA NA NA NA NA NA ## 2 NA NA NA NA NA NA NA NA NA NA NA NA ## 5 NA NA NA NA NA NA NA NA NA NA NA NA ## 14 NA NA NA NA NA NA NA NA NA NA NA NA ## 7 NA NA NA NA NA NA NA NA NA NA NA NA ## 24 NA NA NA NA NA NA NA NA NA NA NA NA ## 30 NA NA NA NA NA NA NA NA NA NA NA NA ## 22 NA NA NA NA NA NA NA NA NA NA NA NA ## 23 NA NA NA NA NA NA NA NA NA NA NA NA ## 27 NA NA NA NA NA NA NA NA NA NA NA NA ## 28 NA NA NA NA NA NA NA NA NA NA NA NA ## 26 NA NA NA NA NA NA NA NA NA NA NA NA ## 25 NA NA NA NA NA NA NA NA NA NA NA NA ## 29 NA NA NA NA NA NA NA NA NA NA NA NA ## 21 NA NA NA NA NA NA NA NA NA NA NA NA ## 33 39 50 63 77 96 111 137 144 151 146 156 147 ## 37 41 48 56 68 80 83 103 112 135 157 169 178 ## 36 39 48 61 76 98 116 145 166 198 227 225 220 ## 31 42 53 62 73 85 102 123 138 170 204 235 256 ## 39 42 50 61 78 89 109 130 146 170 214 250 272 ## 38 41 49 61 74 98 109 128 154 192 232 280 290 ## 32 41 49 65 82 107 129 159 179 221 263 291 305 ## 40 41 55 66 79 101 120 154 182 215 262 295 321 ## 34 41 49 63 85 107 134 164 186 235 294 327 341 ## 35 41 53 64 87 123 158 201 238 287 332 361 373 ## 44 NA NA NA NA NA NA NA NA NA NA NA NA ## 45 NA NA NA NA NA NA NA NA NA NA NA NA ## 43 NA NA NA NA NA NA NA NA NA NA NA NA ## 41 NA NA NA NA NA NA NA NA NA NA NA NA ## 47 NA NA NA NA NA NA NA NA NA NA NA NA ## 49 NA NA NA NA NA NA NA NA NA NA NA NA ## 46 NA NA NA NA NA NA NA NA NA NA NA NA ## 50 NA NA NA NA NA NA NA NA NA NA NA NA ## 42 NA NA NA NA NA NA NA NA NA NA NA NA ## 48 NA NA NA NA NA NA NA NA NA NA NA NA ## ## , , 4 ## ## 0 2 4 6 8 10 12 14 16 18 20 21 ## 18 NA NA NA NA NA NA NA NA NA NA NA NA ## 16 NA NA NA NA NA NA NA NA NA NA NA NA ## 15 NA NA NA NA NA NA NA NA NA NA NA NA ## 13 NA NA NA NA NA NA NA NA NA NA NA NA ## 9 NA NA NA NA NA NA NA NA NA NA NA NA ## 20 NA NA NA NA NA NA NA NA NA NA NA NA ## 10 NA NA NA NA NA NA NA NA NA NA NA NA ## 8 NA NA NA NA NA NA NA NA NA NA NA NA ## 17 NA NA NA NA NA NA NA NA NA NA NA NA ## 19 NA NA NA NA NA NA NA NA NA NA NA NA ## 4 NA NA NA NA NA NA NA NA NA NA NA NA ## 6 NA NA NA NA NA NA NA NA NA NA NA NA ## 11 NA NA NA NA NA NA NA NA NA NA NA NA ## 3 NA NA NA NA NA NA NA NA NA NA NA NA ## 1 NA NA NA NA NA NA NA NA NA NA NA NA ## 12 NA NA NA NA NA NA NA NA NA NA NA NA ## 2 NA NA NA NA NA NA NA NA NA NA NA NA ## 5 NA NA NA NA NA NA NA NA NA NA NA NA ## 14 NA NA NA NA NA NA NA NA NA NA NA NA ## 7 NA NA NA NA NA NA NA NA NA NA NA NA ## 24 NA NA NA NA NA NA NA NA NA NA NA NA ## 30 NA NA NA NA NA NA NA NA NA NA NA NA ## 22 NA NA NA NA NA NA NA NA NA NA NA NA ## 23 NA NA NA NA NA NA NA NA NA NA NA NA ## 27 NA NA NA NA NA NA NA NA NA NA NA NA ## 28 NA NA NA NA NA NA NA NA NA NA NA NA ## 26 NA NA NA NA NA NA NA NA NA NA NA NA ## 25 NA NA NA NA NA NA NA NA NA NA NA NA ## 29 NA NA NA NA NA NA NA NA NA NA NA NA ## 21 NA NA NA NA NA NA NA NA NA NA NA NA ## 33 NA NA NA NA NA NA NA NA NA NA NA NA ## 37 NA NA NA NA NA NA NA NA NA NA NA NA ## 36 NA NA NA NA NA NA NA NA NA NA NA NA ## 31 NA NA NA NA NA NA NA NA NA NA NA NA ## 39 NA NA NA NA NA NA NA NA NA NA NA NA ## 38 NA NA NA NA NA NA NA NA NA NA NA NA ## 32 NA NA NA NA NA NA NA NA NA NA NA NA ## 40 NA NA NA NA NA NA NA NA NA NA NA NA ## 34 NA NA NA NA NA NA NA NA NA NA NA NA ## 35 NA NA NA NA NA NA NA NA NA NA NA NA ## 44 42 51 65 86 103 118 127 138 145 146 NA NA ## 45 41 50 61 78 98 117 135 141 147 174 197 196 ## 43 42 55 69 96 131 157 184 188 197 198 199 200 ## 41 42 51 66 85 103 124 155 153 175 184 199 204 ## 47 41 53 66 79 100 123 148 157 168 185 210 205 ## 49 40 53 64 85 108 128 152 166 184 203 233 237 ## 46 40 52 62 82 101 120 144 156 173 210 231 238 ## 50 41 54 67 84 105 122 155 175 205 234 264 264 ## 42 42 49 63 84 103 126 160 174 204 234 269 281 ## 48 39 50 62 80 104 125 154 170 222 261 303 322 ## ## ## cast> acast(chick_m, diet + chick ~ time, length, margins="diet") ## 0 2 4 6 8 10 12 14 16 18 20 21 ## 1_18 1 1 0 0 0 0 0 0 0 0 0 0 ## 1_16 1 1 1 1 1 1 1 0 0 0 0 0 ## 1_15 1 1 1 1 1 1 1 1 0 0 0 0 ## 1_13 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_9 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_20 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_10 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_8 1 1 1 1 1 1 1 1 1 1 1 0 ## 1_17 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_19 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_4 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_6 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_11 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_3 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_1 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_12 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_2 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_5 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_14 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_7 1 1 1 1 1 1 1 1 1 1 1 1 ## 2_24 1 1 1 1 1 1 1 1 1 1 1 1 ## 2_30 1 1 1 1 1 1 1 1 1 1 1 1 ## 2_22 1 1 1 1 1 1 1 1 1 1 1 1 ## 2_23 1 1 1 1 1 1 1 1 1 1 1 1 ## 2_27 1 1 1 1 1 1 1 1 1 1 1 1 ## 2_28 1 1 1 1 1 1 1 1 1 1 1 1 ## 2_26 1 1 1 1 1 1 1 1 1 1 1 1 ## 2_25 1 1 1 1 1 1 1 1 1 1 1 1 ## 2_29 1 1 1 1 1 1 1 1 1 1 1 1 ## 2_21 1 1 1 1 1 1 1 1 1 1 1 1 ## 3_33 1 1 1 1 1 1 1 1 1 1 1 1 ## 3_37 1 1 1 1 1 1 1 1 1 1 1 1 ## 3_36 1 1 1 1 1 1 1 1 1 1 1 1 ## 3_31 1 1 1 1 1 1 1 1 1 1 1 1 ## 3_39 1 1 1 1 1 1 1 1 1 1 1 1 ## 3_38 1 1 1 1 1 1 1 1 1 1 1 1 ## 3_32 1 1 1 1 1 1 1 1 1 1 1 1 ## 3_40 1 1 1 1 1 1 1 1 1 1 1 1 ## 3_34 1 1 1 1 1 1 1 1 1 1 1 1 ## 3_35 1 1 1 1 1 1 1 1 1 1 1 1 ## 4_44 1 1 1 1 1 1 1 1 1 1 0 0 ## 4_45 1 1 1 1 1 1 1 1 1 1 1 1 ## 4_43 1 1 1 1 1 1 1 1 1 1 1 1 ## 4_41 1 1 1 1 1 1 1 1 1 1 1 1 ## 4_47 1 1 1 1 1 1 1 1 1 1 1 1 ## 4_49 1 1 1 1 1 1 1 1 1 1 1 1 ## 4_46 1 1 1 1 1 1 1 1 1 1 1 1 ## 4_50 1 1 1 1 1 1 1 1 1 1 1 1 ## 4_42 1 1 1 1 1 1 1 1 1 1 1 1 ## 4_48 1 1 1 1 1 1 1 1 1 1 1 1 ## (all)_(all) 50 50 49 49 49 49 49 48 47 47 46 45 ## ## cast> acast(chick_m, diet + chick ~ time, length, drop = FALSE) ## 0 2 4 6 8 10 12 14 16 18 20 21 ## 1_18 1 1 0 0 0 0 0 0 0 0 0 0 ## 1_16 1 1 1 1 1 1 1 0 0 0 0 0 ## 1_15 1 1 1 1 1 1 1 1 0 0 0 0 ## 1_13 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_9 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_20 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_10 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_8 1 1 1 1 1 1 1 1 1 1 1 0 ## 1_17 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_19 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_4 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_6 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_11 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_3 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_1 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_12 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_2 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_5 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_14 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_7 1 1 1 1 1 1 1 1 1 1 1 1 ## 1_24 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_30 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_22 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_23 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_27 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_28 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_26 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_25 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_29 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_21 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_33 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_37 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_36 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_31 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_39 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_38 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_32 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_40 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_34 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_35 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_44 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_45 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_43 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_41 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_47 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_49 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_46 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_50 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_42 0 0 0 0 0 0 0 0 0 0 0 0 ## 1_48 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_18 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_16 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_15 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_13 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_9 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_20 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_10 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_8 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_17 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_19 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_4 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_6 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_11 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_3 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_1 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_12 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_2 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_5 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_14 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_7 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_24 1 1 1 1 1 1 1 1 1 1 1 1 ## 2_30 1 1 1 1 1 1 1 1 1 1 1 1 ## 2_22 1 1 1 1 1 1 1 1 1 1 1 1 ## 2_23 1 1 1 1 1 1 1 1 1 1 1 1 ## 2_27 1 1 1 1 1 1 1 1 1 1 1 1 ## 2_28 1 1 1 1 1 1 1 1 1 1 1 1 ## 2_26 1 1 1 1 1 1 1 1 1 1 1 1 ## 2_25 1 1 1 1 1 1 1 1 1 1 1 1 ## 2_29 1 1 1 1 1 1 1 1 1 1 1 1 ## 2_21 1 1 1 1 1 1 1 1 1 1 1 1 ## 2_33 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_37 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_36 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_31 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_39 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_38 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_32 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_40 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_34 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_35 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_44 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_45 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_43 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_41 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_47 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_49 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_46 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_50 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_42 0 0 0 0 0 0 0 0 0 0 0 0 ## 2_48 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_18 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_16 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_15 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_13 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_9 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_20 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_10 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_8 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_17 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_19 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_4 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_6 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_11 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_3 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_1 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_12 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_2 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_5 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_14 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_7 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_24 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_30 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_22 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_23 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_27 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_28 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_26 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_25 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_29 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_21 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_33 1 1 1 1 1 1 1 1 1 1 1 1 ## 3_37 1 1 1 1 1 1 1 1 1 1 1 1 ## 3_36 1 1 1 1 1 1 1 1 1 1 1 1 ## 3_31 1 1 1 1 1 1 1 1 1 1 1 1 ## 3_39 1 1 1 1 1 1 1 1 1 1 1 1 ## 3_38 1 1 1 1 1 1 1 1 1 1 1 1 ## 3_32 1 1 1 1 1 1 1 1 1 1 1 1 ## 3_40 1 1 1 1 1 1 1 1 1 1 1 1 ## 3_34 1 1 1 1 1 1 1 1 1 1 1 1 ## 3_35 1 1 1 1 1 1 1 1 1 1 1 1 ## 3_44 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_45 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_43 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_41 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_47 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_49 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_46 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_50 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_42 0 0 0 0 0 0 0 0 0 0 0 0 ## 3_48 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_18 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_16 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_15 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_13 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_9 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_20 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_10 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_8 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_17 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_19 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_4 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_6 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_11 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_3 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_1 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_12 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_2 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_5 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_14 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_7 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_24 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_30 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_22 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_23 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_27 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_28 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_26 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_25 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_29 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_21 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_33 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_37 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_36 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_31 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_39 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_38 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_32 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_40 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_34 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_35 0 0 0 0 0 0 0 0 0 0 0 0 ## 4_44 1 1 1 1 1 1 1 1 1 1 0 0 ## 4_45 1 1 1 1 1 1 1 1 1 1 1 1 ## 4_43 1 1 1 1 1 1 1 1 1 1 1 1 ## 4_41 1 1 1 1 1 1 1 1 1 1 1 1 ## 4_47 1 1 1 1 1 1 1 1 1 1 1 1 ## 4_49 1 1 1 1 1 1 1 1 1 1 1 1 ## 4_46 1 1 1 1 1 1 1 1 1 1 1 1 ## 4_50 1 1 1 1 1 1 1 1 1 1 1 1 ## 4_42 1 1 1 1 1 1 1 1 1 1 1 1 ## 4_48 1 1 1 1 1 1 1 1 1 1 1 1 ## ## cast> #Tips example ## cast> dcast(melt(tips), sex ~ smoker, mean, subset = .(variable == "total_bill"))
## Using sex, smoker, day, time as id variables
## sex No Yes ## 1 Female 18.10519 17.97788 ## 2 Male 19.79124 22.28450 ## ## cast> ff_d <- melt(french_fries, id=1:4, na.rm=TRUE) ## ## cast> acast(ff_d, subject ~ time, length) ## 1 2 3 4 5 6 7 8 9 10 ## 3 30 30 30 30 30 30 30 30 30 0 ## 10 30 30 30 30 30 30 30 30 30 30 ## 15 30 30 30 30 25 30 30 30 30 30 ## 16 30 30 30 30 30 30 30 29 30 30 ## 19 30 30 30 30 30 30 30 30 30 30 ## 31 30 30 30 30 30 30 30 30 0 30 ## 51 30 30 30 30 30 30 30 30 30 30 ## 52 30 30 30 30 30 30 30 30 30 30 ## 63 30 30 30 30 30 30 30 30 30 30 ## 78 30 30 30 30 30 30 30 30 30 30 ## 79 30 30 30 30 30 30 29 28 30 0 ## 86 30 30 30 30 30 30 30 30 0 30 ## ## cast> acast(ff_d, subject ~ time, length, fill=0) ## 1 2 3 4 5 6 7 8 9 10 ## 3 30 30 30 30 30 30 30 30 30 0 ## 10 30 30 30 30 30 30 30 30 30 30 ## 15 30 30 30 30 25 30 30 30 30 30 ## 16 30 30 30 30 30 30 30 29 30 30 ## 19 30 30 30 30 30 30 30 30 30 30 ## 31 30 30 30 30 30 30 30 30 0 30 ## 51 30 30 30 30 30 30 30 30 30 30 ## 52 30 30 30 30 30 30 30 30 30 30 ## 63 30 30 30 30 30 30 30 30 30 30 ## 78 30 30 30 30 30 30 30 30 30 30 ## 79 30 30 30 30 30 30 29 28 30 0 ## 86 30 30 30 30 30 30 30 30 0 30 ## ## cast> dcast(ff_d, treatment ~ variable, mean, margins = TRUE) ## treatment potato buttery grassy rancid painty (all) ## 1 1 6.887931 1.780087 0.6491379 4.065517 2.583621 3.194478 ## 2 2 7.001724 1.973913 0.6629310 3.624569 2.455844 3.146413 ## 3 3 6.967965 1.717749 0.6805195 3.866667 2.525541 3.151688 ## 4 (all) 6.952518 1.823699 0.6641727 3.852230 2.521758 3.164218 ## ## cast> dcast(ff_d, treatment + subject ~ variable, mean, margins="treatment") ## treatment subject potato buttery grassy rancid painty ## 1 1 3 6.216667 0.3722222 0.18888889 2.1055556 3.11111111 ## 2 1 10 9.955000 6.7500000 0.58500000 4.0200000 1.37500000 ## 3 1 15 3.360000 0.7200000 0.42000000 3.9650000 3.26000000 ## 4 1 16 6.495000 3.2600000 0.75500000 4.1200000 1.23000000 ## 5 1 19 9.385000 3.0550000 2.02000000 5.3600000 2.77500000 ## 6 1 31 8.844444 0.4444444 0.08888889 5.9444444 3.21111111 ## 7 1 51 10.675000 2.6400000 1.05000000 5.1500000 1.95500000 ## 8 1 52 5.060000 0.8050000 0.87500000 4.2850000 2.64500000 ## 9 1 63 6.775000 0.0250000 0.00000000 6.0550000 3.85500000 ## 10 1 78 3.620000 0.7350000 0.54000000 1.5050000 3.49000000 ## 11 1 79 8.061111 0.2823529 0.34444444 0.5666667 0.00000000 ## 12 1 86 4.183333 1.7722222 0.80555556 5.4944444 4.10555556 ## 13 2 3 6.738889 0.5888889 0.10555556 3.1388889 2.47777778 ## 14 2 10 9.995000 6.9800000 0.47500000 2.1500000 0.82000000 ## 15 2 15 4.405000 1.3150000 0.34000000 2.2850000 2.06000000 ## 16 2 16 6.450000 3.3736842 1.05500000 3.4000000 0.45500000 ## 17 2 19 8.640000 2.4500000 1.13500000 5.4050000 4.15500000 ## 18 2 31 8.033333 0.6166667 0.15555556 6.0500000 5.06111111 ## 19 2 51 9.985000 3.7950000 1.57000000 4.6700000 2.25500000 ## 20 2 52 5.515000 1.0250000 1.18000000 4.2250000 2.19500000 ## 21 2 63 8.415000 0.1050000 0.01000000 5.0900000 4.35500000 ## 22 2 78 3.780000 0.2950000 0.75500000 1.5500000 2.72500000 ## 23 2 79 7.938889 0.6941176 0.25555556 1.0333333 0.00000000 ## 24 2 86 3.994444 2.0611111 0.78333333 4.5222222 2.84444444 ## 25 3 3 5.294444 0.7666667 0.09444444 2.8555556 2.86666667 ## 26 3 10 10.030000 6.4500000 0.14500000 3.1100000 0.69000000 ## 27 3 15 3.963158 0.9894737 0.44210526 2.5473684 2.36842105 ## 28 3 16 6.860000 2.7000000 1.12500000 3.2000000 0.55500000 ## 29 3 19 8.740000 1.7250000 2.07000000 7.2400000 3.90500000 ## 30 3 31 9.027778 0.6500000 0.17222222 6.5777778 5.12777778 ## 31 3 51 10.220000 3.1300000 1.35000000 4.9150000 2.54500000 ## 32 3 52 5.475000 0.8650000 0.76500000 3.1600000 2.66000000 ## 33 3 63 8.060000 0.0650000 0.12500000 6.1850000 3.10000000 ## 34 3 78 4.000000 0.7050000 0.66500000 1.1850000 3.52000000 ## 35 3 79 7.733333 0.5722222 0.11666667 1.1777778 0.02777778 ## 36 3 86 3.866667 1.6333333 0.94444444 4.1055556 3.02777778 ## 37 (all) (all) 6.952518 1.8236994 0.66417266 3.8522302 2.52175793 ## ## cast> if (require("lattice")) { ## cast+ lattice::xyplot(`1` ~ `2` | variable, dcast(ff_d, ... ~ rep), aspect="iso") ## cast+ }
each
each(min, max)(1:10)
来自plyr包,多个函数同时使用。
## ## each> # Call min() and max() on the vector 1:10 ## each> each(min, max)(1:10)
## Error: attempt to apply non-function
.
来自plyr包.变量名 = ‘变量名’, 不表示变量的值
gc
用于垃圾回收cSplit
cSplit(indt, splitCols, sep = ",", direction = "wide", fixed = TRUE, drop = TRUE, stripWhite = TRUE, makeEqual = NULL, type.convert = TRUE)
来自splitstackshape包,将单元格的数据进行变长变宽操作.拆分单元格,并将其他单元格数据重复显示。
indt为输入变量,data.frame或data.table
splitCols 为操作的列,对此列中的单元格进行操作
seq 分隔符, 对单元格中的数据安装seq进行分割
direction 操作方式, ‘wide’表示变宽,新增加列,来分割单元格, ‘long’ 表示变长, 即单元格分割后进入下一列,其他列数据复制进入下一列。
## ## cSplit> ## Sample data ## cSplit> temp <- head(concat.test) ## ## cSplit> ## Split the "Likes" column ## cSplit> cSplit(temp, "Likes") ## Name Siblings Hates Likes_1 Likes_2 Likes_3 ## 1: Boyd Reynolds , Albert , Ortega 2;4; 1 2 4 ## 2: Rufus Cohen , Bert , Montgomery 1;2;3;4; 1 2 4 ## 3: Dana Pierce 2; 1 2 4 ## 4: Carole Colon , Michelle , Ballard 1;4; 1 2 4 ## 5: Ramona Snyder , Joann , 1;2;3; 1 2 5 ## 6: Kelley James , Roxanne , 1;4; 1 2 5 ## Likes_4 Likes_5 ## 1: 5 6 ## 2: 5 6 ## 3: 5 6 ## 4: 5 6 ## 5: 6 NA ## 6: 6 NA ## ## cSplit> ## Split the "Likes" and "Hates" columns -- ## cSplit> ## they have different delimiters... ## cSplit> cSplit(temp, c("Likes", "Hates"), c(",", ";")) ## Name Siblings Likes_1 Likes_2 Likes_3 Likes_4 ## 1: Boyd Reynolds , Albert , Ortega 1 2 4 5 ## 2: Rufus Cohen , Bert , Montgomery 1 2 4 5 ## 3: Dana Pierce 1 2 4 5 ## 4: Carole Colon , Michelle , Ballard 1 2 4 5 ## 5: Ramona Snyder , Joann , 1 2 5 6 ## 6: Kelley James , Roxanne , 1 2 5 6 ## Likes_5 Hates_1 Hates_2 Hates_3 Hates_4 Hates_5 ## 1: 6 2 4 NA NA NA ## 2: 6 1 2 3 4 NA ## 3: 6 2 NA NA NA NA ## 4: 6 1 4 NA NA NA ## 5: NA 1 2 3 NA NA ## 6: NA 1 4 NA NA NA ## ## cSplit> ## Split "Siblings" into a long form... ## cSplit> cSplit(temp, "Siblings", ",", direction = "long") ## Name Likes Siblings Hates ## 1: Boyd 1,2,4,5,6 Reynolds 2;4; ## 2: Boyd 1,2,4,5,6 Albert 2;4; ## 3: Boyd 1,2,4,5,6 Ortega 2;4; ## 4: Rufus 1,2,4,5,6 Cohen 1;2;3;4; ## 5: Rufus 1,2,4,5,6 Bert 1;2;3;4; ## 6: Rufus 1,2,4,5,6 Montgomery 1;2;3;4; ## 7: Dana 1,2,4,5,6 Pierce 2; ## 8: Carole 1,2,4,5,6 Colon 1;4; ## 9: Carole 1,2,4,5,6 Michelle 1;4; ## 10: Carole 1,2,4,5,6 Ballard 1;4; ## 11: Ramona 1,2,5,6 Snyder 1;2;3; ## 12: Ramona 1,2,5,6 Joann 1;2;3; ## 13: Kelley 1,2,5,6 James 1;4; ## 14: Kelley 1,2,5,6 Roxanne 1;4; ## ## cSplit> ## Split "Siblings" into a long form, removing extra whitespace ## cSplit> cSplit(temp, "Siblings", ",", direction = "long", stripWhite = TRUE) ## Name Likes Siblings Hates ## 1: Boyd 1,2,4,5,6 Reynolds 2;4; ## 2: Boyd 1,2,4,5,6 Albert 2;4; ## 3: Boyd 1,2,4,5,6 Ortega 2;4; ## 4: Rufus 1,2,4,5,6 Cohen 1;2;3;4; ## 5: Rufus 1,2,4,5,6 Bert 1;2;3;4; ## 6: Rufus 1,2,4,5,6 Montgomery 1;2;3;4; ## 7: Dana 1,2,4,5,6 Pierce 2; ## 8: Carole 1,2,4,5,6 Colon 1;4; ## 9: Carole 1,2,4,5,6 Michelle 1;4; ## 10: Carole 1,2,4,5,6 Ballard 1;4; ## 11: Ramona 1,2,5,6 Snyder 1;2;3; ## 12: Ramona 1,2,5,6 Joann 1;2;3; ## 13: Kelley 1,2,5,6 James 1;4; ## 14: Kelley 1,2,5,6 Roxanne 1;4; ## ## cSplit> ## Split a vector ## cSplit> y <- c("a_b_c", "a_b", "c_a_b") ## ## cSplit> cSplit(as.data.table(y), "y", "_") ## y_1 y_2 y_3 ## 1: a b c ## 2: a b NA ## 3: c a b
reverse
来自 IRanges, 将字符串倒置## ## revers> ## On a character vector: ## revers> reverse(c("Hi!", "How are you?")) ## [1] "!iH" "?uoy era woH" ## ## revers> rev(c("Hi!", "How are you?")) ## [1] "How are you?" "Hi!" ## ## revers> ## On a Views object: ## revers> v <- successiveViews(Rle(c(-0.5, 12.3, 4.88), 4:2), 1:4) ## ## revers> v ## Views on a 9-length Rle subject ## ## views: ## start end width ## [1] 1 1 1 [-0.5] ## [2] 2 3 2 [-0.5 -0.5] ## [3] 4 6 3 [-0.5 12.3 12.3] ## [4] 7 10 4 [12.30 4.88 4.88 ...] ## ## revers> reverse(v) ## Views on a 9-length Rle subject ## ## views: ## start end width ## [1] 9 9 1 [-0.5] ## [2] 7 8 2 [-0.5 -0.5] ## [3] 4 6 3 [12.3 12.3 -0.5] ## [4] 0 3 4 [ 4.88 4.88 12.30 ...] ## ## revers> rev(v) ## Views on a 9-length Rle subject ## ## views: ## start end width ## [1] 7 10 4 [12.30 4.88 4.88 ...] ## [2] 4 6 3 [-0.5 12.3 12.3] ## [3] 2 3 2 [-0.5 -0.5] ## [4] 1 1 1 [-0.5] ## ## revers> ## On a MaskCollection object: ## revers> mask1 <- Mask(mask.width=29, start=c(11, 25, 28), width=c(5, 2, 2)) ## ## revers> mask2 <- Mask(mask.width=29, start=c(3, 10, 27), width=c(5, 8, 1)) ## ## revers> mask3 <- Mask(mask.width=29, start=c(7, 12), width=c(2, 4)) ## ## revers> mymasks <- append(append(mask1, mask2), mask3) ## ## revers> reverse(mymasks) ## MaskCollection of length 3 and width 29 ## masks: ## maskedwidth maskedratio active ## 1 9 0.3103448 TRUE ## 2 14 0.4827586 TRUE ## 3 6 0.2068966 TRUE ## all masks together: ## maskedwidth maskedratio ## 19 0.6551724
complement, reverseComplement
来自Biostrings包 complement 对DNA,RAN取互补链,reverseComplement 取互补链后倒置此函数接受变量必须为 DNAString() 或 RNAString()
DNAString RNAString
来自Biostring包, 对DNA, RNA序列进行操作,同时可以组合进行dna2rna的转换dna2rna() = RNAString(DNAString())
writeLines
writeLines(text, con = stdout(), sep = "\n", useBytes = FALSE)
来自base包, text 为你要写入的字符串, con 表示一个文件里连接, 可以直接写入文件的路径,但是这样的话以前的内容会被重写,如果想附加到之前的内容后面,可以用file(path, open = ‘a’)来定义一个文件连接。
需要注意的是如果使用file(),使用完writeLines后必须,close(文件连接)否则缓存不会写入文件
as.charactor(), as.numeric()
如果要把因子型变量 coercion to 数值型,一定要先as.charactor(), 再 as.numeric(), 直接as.numeric(),因子型变量会按照1,2,3…的顺序去赋值,后果不堪设想。chartr
chartr(old, new, x)
来自base包,用new替换old, 类似于sub
apropos
apropos("\\.test$")
utils包,寻找当前状态下,以.test结尾(regular expression)的函数
## [1] "ansari.test" "bartlett.test" "binom.test" ## [4] "Box.test" "chisq.test" "concat.test" ## [7] "cor.test" "fisher.test" "fligner.test" ## [10] "friedman.test" "kruskal.test" "ks.test" ## [13] "mantelhaen.test" "mauchly.test" "mcnemar.test" ## [16] "mood.test" "oneway.test" "pairwise.prop.test" ## [19] "pairwise.t.test" "pairwise.wilcox.test" "poisson.test" ## [22] "power.anova.test" "power.prop.test" "power.t.test" ## [25] "PP.test" "prop.test" "prop.trend.test" ## [28] "quade.test" "shapiro.test" "t.test" ## [31] "var.test" "wilcox.test"
interp
interp(~ x + y, x = 10) interp(lazy(x + y), x = 10) interp(quote(x + y), x = 10) interp("x + y", x = 10)
lazyeval包中的函数。 说实话,不理解这个函数,也不理解Non-Standard, 开始理解错了,以后补上吧。
## ## interp> # Interp works with formulas, lazy objects, quoted calls and strings ## interp> interp(~ x + y, x = 10) ## ~10 + y ## ## interp> interp(lazy(x + y), x = 10) ## <lazy> ## expr: 10 + y ## env: <environment: R_GlobalEnv> ## ## interp> interp(quote(x + y), x = 10) ## 10 + y ## ## interp> interp("x + y", x = 10) ## [1] "10 + y" ## ## interp> # Use as.name if you have a character string that gives a ## interp> # variable name ## interp> interp(~ mean(var), var = as.name("mpg")) ## ~mean(mpg) ## ## interp> # or supply the quoted name directly ## interp> interp(~ mean(var), var = quote(mpg)) ## ~mean(mpg) ## ## interp> # Or a function! ## interp> interp(~ f(a, b), f = as.name("+")) ## ~a + b ## ## interp> # Remember every action in R is a function call: ## interp> # http://adv-r.had.co.nz/Functions.html#all-calls ## interp> ## interp> # If you've built up a list of values through some other ## interp> # mechanism, use .values ## interp> interp(~ x + y, .values = list(x = 10)) ## ~10 + y ## ## interp> # You can also interpolate variables defined in the current ## interp> # environment, but this is a little risky. ## interp> y <- 10 ## ## interp> interp(~ x + y, .values = environment()) ## ~x + 10
library(knitr) knit('/Users/lipidong/baiduyun/work/RFile/MarkDown/funSet.Rmd', output = '~/learn/blog/_posts/2015-04-12-funSet.md')
相关文章推荐
- ligerUI的layout的问题
- maven 配置与常用命令
- 我所理解的响应式编程
- codeforces 123A/124C Prime Permutation
- 自定义类型变量的大小(数据对齐)
- 蚁群算法和简要matlab来源
- Ubuntu 14.04 分区方案
- 183使用 MediaPlayer Framework 框架播放视频
- el表达式定义
- 众所周知的二进制
- Java图形化界面设计——容器(JFrame)
- window.location.href的用法
- 货币兑换Cash - bzoj 1492 cdq分治+斜率优化
- UIWebView 加载js内容 设置宽度自动换行
- centos 7 相关笔记
- Node环境下实现less编译
- EA(Enterprise Architect)使用心得
- Centos7 Lnmp的数据库目录修改
- ecshop数据库说明
- openstack(kilo) 使非admin用户看到虚拟机所在的宿主机