在使用data.table很长一段时间后,我现在认为是时候试试dplyr了。这很有趣,但我无法弄清楚如何访问 - 当前分组变量 - 返回每个组的多个值dplyr:访问当前组变量
以下示例显示可以正常使用data.table。你会如何写这与dplyr
foo <- matrix(c(1, 2, 3, 4), ncol = 2)
dt <- data.table(a = c(1, 1, 2), b = c(4, 5, 6))
# data.table (expected)
dt[, .(c = foo[, a]), by = a]
a c
1: 1 1
2: 1 2
3: 2 3
4: 2 4
# dplyr (?)
dt %>%
group_by(a) %>%
summarize(c = foo[a])
随着'summarize'也做,你可能无法做到,你可以尝试'do' – akrun
你在'foo [a]'中缺少一个逗号......无论如何,正如akrun所建议的,总结并不是一个好的选择,因为它喜欢每组返回一行。也不是变异,它喜欢返回n()又名.N,所以你需要在dplyr世界中一起破解一些东西。 – Frank
hm。谢谢。仍然没有成功:dt%>% group_by(a)%>% do(c = foo [,a]) 您能告诉我工作片段吗? –