繁体   English   中英

使用R将字符串拆分为因子

[英]Split String into factor using R

我向我们的办公室发送了一份有趣的调查表,以获取一些数据,以便将来组合处理调查表的工作流。 一些问题有文字输入,回答是逗号分隔的列表。 数据是使用Google表单收集的,因此最终形成了电子表格。 我直接链接到该电子表格以将数据输入R,所以我不希望对数据进行不必要的预处理。

因为进入R的csv也是逗号分隔的,所以我将逗号换成管道('|')。 我想根据对“您最喜欢的工业设计作品”等问题的回答来制作条形图,但是很多人都说过诸如“ iPhone,可乐瓶”之类的东西。 这对我来说是带有iPhone |可乐瓶标签的酒吧。

我想将其拆分,以便iPhone部件有助于iPhone栏等。用其他语言,我要用管道分隔符将整个列表连接起来,然后在管道上再次拆分它,然后使用该新列表。 我一直在R中尝试这种方法; 这是正确的方法还是还有更多的R方法?

a <- BVNdhData$Pets
b <- paste(a,collapse ="|")
c <- strsplit(b,"|",fixed=TRUE)

一切正常,但是给我留下了一个清单 ,我不知道该如何处理。

如果在unlist()的结果上调用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()

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM