【问题标题】:Converting comma separated list to dataframe将逗号分隔的列表转换为数据框
【发布时间】:2018-06-20 13:49:34
【问题描述】:

如果我有一个类似于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   |
   |              |               |              |
   +---------------------------------------------+
   |              |               |              |
   |              |               |              |
   |     ...      |       ...     |     ...      |
   |              |               |              |
   |              |               |             ++
   +---------------------------------------------+
   |              |               |              |
   |     ...      |      ...      |   ...        |
   |              |               |              |
   |              |               |              |
   +---------------------------------------------+

【问题讨论】:

  • 您可以使用read.csvread.tableread.table(text=paste(x, collapse='\n'), header = TRUE, stringsAsFactors = FALSE, sep=',')
  • 不错。似乎工作。您可以将其添加为答案吗?

标签: r list dataframe matrix


【解决方案1】:

我们将paste 字符串与\n 合并为一个字符串,并使用read.csvread.table from base R

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

【讨论】:

    【解决方案2】:

    或者,

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-20
      • 1970-01-01
      • 2017-06-04
      • 1970-01-01
      • 1970-01-01
      • 2016-10-24
      • 2020-07-26
      • 1970-01-01
      相关资源
      最近更新 更多