0
我有一個字符串向量,每個字符串都是一個csv的id列表。 我想將每個字符串拆分成一個列表,並將ID的長度和集合存儲爲數據框中的兩個新列。這裏有一個例子:向數據框添加一個向量值列 - 總結(df)
df = data.frame(ids = c("a,b,c", "d", "e", "", "f,g", "", "h", "i", ""), stringsAsFactors=FALSE)
ids = sapply(df$ids, function (s) unlist(strsplit(as.character(s), ",")))
df$num.ids = sapply(ids, length)
df$ids.vec = sapply(ids, unlist)
這看起來不錯迄今:
> df
ids num.ids ids.vec
1 a,b,c 3 a, b, c
2 d 1 d
3 e 1 e
4 0
5 f,g 2 f, g
6 0
7 h 1 h
8 i 1 i
9 0
但是當我鍵入摘要(DF),我得到ids.vec神祕列。更重要的是, 摘要不會計算摘要,但會列出每一行(將此應用於我的真實數據集時,這是個問題)。
> summary(df)
ids num.ids ids.vec.Length ids.vec.Class ids.vec.Mode
Length:9 Min. :0 3 -none- character
Class :character 1st Qu.:0 1 -none- character
Mode :character Median :1 1 -none- character
Mean :1 0 -none- character
3rd Qu.:1 2 -none- character
Max. :3 0 -none- character
1 -none- character
1 -none- character
0 -none- character
任何想法我做錯了什麼?
謝謝! Kevin
完全是,是你期待什麼的一部分?您已將數據列添加到列表中,而不是原子矢量。這將使認爲看起來有點「怪異」。 – joran