将逗号分隔列表转换为数据帧

时间:2018-01-11 09:26:20

标签: r list dataframe matrix

如果我有一个类似于x <- c("Name,Age,Gender", "Rob,21,M", "Matt,30,M")的列表,我该如何转换为NameAgeGender成为列标题的数据框。

目前我的方法是,

dataframe <- data.frame(matrix(unlist(x), nrow=3, byrow=T))

给了我

matrix.unlist.user_data...nrow...num_rows..byrow...T.
1                                        Name,Age,Gender
2                                         Rob,21,M
3                                        Matt,30,M

并没有帮助我。

如何从上述列表中获得类似于以下内容的内容?

   +---------------------------------------------+
   |    name      |      age      |     gender   |
   |              |               |              |
   +---------------------------------------------+
   |              |               |              |
   |              |               |              |
   |     ...      |       ...     |     ...      |
   |              |               |              |
   |              |               |             ++
   +---------------------------------------------+
   |              |               |              |
   |     ...      |      ...      |   ...        |
   |              |               |              |
   |              |               |              |
   +---------------------------------------------+

2 个答案:

答案 0 :(得分:4)

我们paste将字符串合并为\n的单个字符串,然后使用read.csv中的read.tablebase R

read.table(text=paste(x, collapse='\n'), header = TRUE, stringsAsFactors = FALSE, sep=',')

答案 1 :(得分:4)

可替换地,

data.table::fread(paste(x, collapse = "\n"))
   Name Age Gender
1:  Rob  21      M
2: Matt  30      M