2012-09-06 70 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()時,您需要在使用該示例時轉換爲字符,或者獲得因子變量的整數編碼。