我现在正在使用ddply
。处理数字非常容易。例如取子组的均值或标准差。
但是我很难处理字符串。我想将每个子组中同一列中的字符串组合起来,但我做不到。我试过cbind
paste
了,等等。任何人都可以提供一些帮助吗?
添加collapse=""
到您的粘贴语句
ddply(mtcars, .(carb), summarize, cyl_concatenated = paste(cyl, collapse = ""))
# carb cyl_concatenated
#1 1 4664444
#2 2 8444888444
#3 3 888
#4 4 6686688888
#5 6 6
#6 8 8
我看到达森有办法。我宁愿将单独的东西分开,并建议:
ddply(mtcars, .(carb), summarize, cyl_list = list(as.character(cyl)))
#-----------
carb cyl_list
1 1 4, 6, 6, 4, 4, 4, 4
2 2 8, 4, 4, 4, 8, 8, 8, 4, 4, 4
3 3 8, 8, 8
4 4 6, 6, 8, 6, 6, 8, 8, 8, 8, 8
5 6 6
6 8 8
您还可以修改 Dason 以使用 collapse=", ",它看起来与上面相同,但结构不同。使用list()
该示例时您需要转换为字符,或者您获得因子变量的整数编码。