@@ -285,7 +285,7 @@ df2 <- data.table(grp=c(1,3), w = c(10,11))
285
285
| Transform several columns | ` df[, .(max(x), min(y)) ] ` | ` combine(df, :x => maximum, :y => minimum) ` |
286
286
| | ` df[, lapply(.SD, mean), .SDcols = c("x", "y") ] ` | ` combine(df, [:x, :y] .=> mean) ` |
287
287
| | ` df[, lapply(.SD, mean), .SDcols = patterns("*x") ] ` | ` combine(df, names(df, r"^x") .=> mean) ` |
288
- | | ` df[, unlist(lapply(.SD, function(x) c( max=max(x), min=min(x)))), .SDcols = c("x", "y") ] ` | ` combine(df, ([:x, :y] .=> [maximum minimum])...) ` |
288
+ | | ` dcast(df, . ~ ., list( max, min), value.var = c("x","y")) ` | ` combine(df, ([:x, :y] .=> [maximum minimum])...) ` |
289
289
| Multivariate function | ` df[, .(cor(x,y)) ] ` | ` transform(df, [:x, :y] => cor) ` |
290
290
| Row-wise | ` df[, min_xy := min(x, y), by = 1:nrow(df)] ` | ` transform!(df, [:x, :y] => ByRow(min)) ` |
291
291
| | ` df[, argmax_xy := which.max(.SD) , .SDcols = patterns("*x"), by = 1:nrow(df) ] ` | ` transform!(df, AsTable(r"^x") => ByRow(argmax)) ` |
0 commit comments