使用R导入CSV,其中CSV文件中的第二个变量是列表

时间:2017-11-29 17:40:42

标签: r list csv import stack

我正在尝试使用R导入CSV文件,但遇到了麻烦。

CSV条目看起来像

"Name 1" , "Name 2, Name 3, Name 4"

如果我直接导​​入R,则读取数据

Name 1     Name 2,Name 3,Name 4

但我希望它看起来像

Name 1     Name 2
Name 1     Name 3
Name 1     Name 4

有没有办法在导入过程中分解第二列,所以我可以有两列,每列只有一个名称?

由于

1 个答案:

答案 0 :(得分:0)

使用strsplit将列拆分为实际的list类,然后使用tidyr::unnest获取结果:

d = data.frame(a = "Name 1" , b = "Name 2, Name 3, Name 4")
d$b = strsplit(d$b, ",")
library(tidyr)
unnest(d)
#        a       b
# 1 Name 1  Name 2
# 2 Name 1  Name 3
# 3 Name 1  Name 4

根据事物的清洁程度,您可能需要修剪新列的空白,请在?trimws寻求帮助。