R语言常用函数集合

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+ }

plot of chunk unnamed-chunk-2

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')
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

探索者v

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值