2012-09-06 89 views
5

我现在使用ddply。处理数字非常简单。如取小组的平均值或标准差。ddply总结字符串操作

但我很难处理字符串。我想将每个子组中的字符串组合在一起,但我无法做到。我试过cbindpaste等等任何人都可以提供一些帮助?

+2

没有一个具体的,可重复的例子,不,我们可能无法提供很多帮助。 – joran

+0

请产生一个[可重现的例子](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)来获得帮助... – ptocquin

回答

8

添加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 
5

我看到达诚有一个办法。我宁愿保持独立的东西分开,并建议:

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 

你也可以修改达诚公司使用崩溃=“”,这看起来与上面相同,但会具有不同的结构。使用list()时,您需要在使用该示例时转换为字符,或者获得因子变量的整数编码。