将文本句子转换为逗号分隔的矢量

时间:2017-07-01 05:05:54

标签: r

我有一个数据帧x:

> x
        id type
1 13159355  traffic s
2 13159356 suspicious
3 13159357      crash
4 13159358  traffic s
5 13159359    parking
6 13159360  traffic s

我想让x $ type的每一行都成为一个向量,例如,x[1,2]会返回"traffic", "s",就像我c("traffic", "s")

一样

尝试:

> x$type <- gsub("\\s", ", ", x$type)
> x
        id type
1 13159355 traffic, s
2 13159356 suspicious
3 13159357      crash
4 13159358 traffic, s
5 13159359    parking
6 13159360 traffic, s

但是,如果我选择x[1,2],则返回一个字符串,而不是chr向量。

如何将x $ type中的所有句子更改为chr向量或单词?

1 个答案:

答案 0 :(得分:1)

根据描述,OP似乎想要一个list列。为此,我们可以将列“类型”拆分一个或多个空格(\\s+

x$type <- strsplit(x$type, "\\s+")
x[1,2][[1]]
#[1] "traffic" "s"