17
我想使用dplyr將一個表按一列分組,然後將函數應用於每個組的第二列中的一組值。dplyr:如何將do()應用於group_by的結果?
例如,在下面的代碼示例中,我想返回每個人所吃的食物的2項組合。我無法弄清楚如何在do()
功能中正確提供功能和正確的色譜柱(食品)。
library(dplyr)
person = c('Grace', 'Grace', 'Grace', 'Rob', 'Rob', 'Rob')
foods = c('apple', 'banana', 'cucumber', 'spaghetti', 'cucumber', 'banana')
eaten = data.frame(person, foods)
by_person = group_by(eaten, person)
# How to do this?
do(by_person, combn(x = foods, m = 2))
注意,在?do
示例代碼在我的機器上失敗
mods <- do(carriers, failwith(NULL, lm), formula = ArrDelay ~ date)
在未來的dplyr版本中,您可以做更多的事情,比如'do(combn(。$ foods,m = 2))',組件會自動使用有用的名稱。 – hadley
非常感謝您提供有用的解決方案!第一行中字符串AsAsactor的小錯字。 – zimmeee
這次推出了新的:) – zimmeee