【问题标题】:Split a string by commas into multiple columns in R [closed]用逗号将字符串拆分为R中的多列[关闭]
【发布时间】:2022-01-26 18:02:56
【问题描述】:

我是 R 新手。我有一列(是的,只有一列)有 200 行,其元素是用逗号分隔的字符串。

实际数据:

"A, B, C, D"
"1, 10, 13, 4"
"0, 1, 6, 1"
"9, 3, 3, 0"
...

我想从这一列中生成以下数据框:

A   B   C   D

1   10  13  4
0   1   6   1
9   3   3   0
     ...

其中“A”、“B”、“C”、“D”是此数据框的列标题,并且行也分别以逗号分隔到每个创建的列。如何在 R 中实现这一点?

【问题讨论】:

标签: r string dataframe split multiple-columns


【解决方案1】:

尝试read.table,如下所示

> read.table(text = df$Col1, header = TRUE, sep = ",")
  A  B  C D
1 1 10 13 4
2 0  1  6 1
3 9  3  3 0

【讨论】:

  • 很抱歉,“Col1”不存在,这是一个错字。有什么办法可以说我想要带有这些标题的列?
【解决方案2】:

这是另一种方法:

library(tidyverse)
library(janitor)

str_split_fixed(df$V1, ", ", 4) %>% 
  row_to_names(.,1) %>% 
  as_tibble()
  A     B     C     D    
  <chr> <chr> <chr> <chr>
1 1     10    13    4    
2 0     1     6     1    
3 9     3     3     0 

数据:

structure(list(V1 = c("A, B, C, D", "1, 10, 13, 4", "0, 1, 6, 1", 
"9, 3, 3, 0")), class = "data.frame", row.names = c(NA, -4L))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多