我发了一个有趣的调查问卷到我们的办公室,以获得一些数据,以建立一个工作流程,以处理问卷在未来。有些问题有文字输入,回答是逗号分隔的列表。这些数据是使用Google表单收集的,因此最终形成了一个电子表格。我直接链接到这个电子表格,把数据放到R中,所以我不想对数据做更多的预处理。
因为进入R的csv也是逗号分隔的,所以我把逗号换成管道(‘\“)。我想通过回答诸如“你最喜欢的工业设计作品是什么”这样的问题来制作条形图,但是很多人都说过"iPhone,可乐瓶“之类的话。对我来说,这是一个标有iPhone杯可乐瓶的酒吧。
我想将它拆分,以便iPhone部分对iPhone条等做出贡献。在其他语言中,我会用管道分隔符连接整个列表,然后在管道上再将它分割,然后使用新的列表。我被困在R中尝试这种方法,这是正确的方法,还是有更多的R方法去做呢?
a <- BVNdhData$Pets
b <- paste(a,collapse ="|")
c <- strsplit(b,"|",fixed=TRUE)这一切都有效,但留给我一份清单,我不知道该如何处理。
发布于 2013-01-24 08:33:37
如果对unlist()的结果调用strsplit(),就会得到包含文本所有组件的单个字符向量:
text <- c("cake|pie|sausage roll", "scotch egg|pie")
x <- unlist(strsplit(text, "\\|"))使用table()对条目进行列表:
table(x)
x
        cake          pie sausage roll   scotch egg 
           1            2            1            1 然后强迫它进入数据框架..。
dat <- as.data.frame(table(x))
dat
             x Freq
1         cake    1
2          pie    2
3 sausage roll    1
4   scotch egg    1..。和情节:
library(ggplot2)
ggplot(dat, aes(x, Freq)) + geom_point()

https://stackoverflow.com/questions/14495639
复制相似问题