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