例如,假设我有一个专栏,如下所示:

name:Michael,Age:31,City:NYC

我如何将此列拆分为多个单独的列,以使其产生类似于数据框的结果:

   name   | Age | City
1 Michael | 31  | NYC

我try 使用qdapTools包中的mtabate,但结果只有Boolean Value列.

推荐答案

base R,可以用read.dcf来完成

out <- type.convert(as.数据.frame( 
         read.dcf(textConnection(paste(gsub(",", "\n", df1$col1),
        collapse = "\n\n")))
), as.is = TRUE)

-输出

> out
     name Age City
1 Michael  31  NYC
2 Michael  31  NYC

或使用tidyverse

library(dplyr)
library(tidyr)
df1 %>%
   mutate(rn = row_number()) %>%
   separate_rows(col1, sep = ",\\s*") %>% 
   separate(col1, into = c('col1', 'col2'), sep = ":") %>% 
   pivot_wider(names_from = col1, values_from = col2) %>% 
   select(-rn)
# A tibble: 2 × 3
  name    Age   City 
  <chr>   <chr> <chr>
1 Michael 31    NYC  
2 Michael 31    NYC  

数据

df1 <- structure(list(col1 = c("name:Michael,Age:31,City:NYC",
 "name:Michael,Age:31,City:NYC"
)), class = "数据.frame", row.names = c(NA, -2L))

R相关问答推荐

使用gggrassure减少地块之间的空间

将年度数据插入月度数据

selectInput不返回ALL,并将因子转换为shiny 的数字

在不安装软件包的情况下测试更新

如何在R中合并和合并多个rabrame?

将数据集中的值增加到当前包含的最大值

多个过滤器内的一个盒子在仪表板Quarto

将小数分隔符放在R中的前两位数字之后

以相同的方式对每个表进行排序

如何通过匹配R中所有可能的组合来从宽到长旋转多个列?

根据1个变量绘制 colored颜色 发散的 map ,由另一个变量绘制饱和度,ggplot2不工作

将箭头绘制在图形外部,而不是图形内部

如何使这些react 表对象相互独立?

如何阻止围堵地理密度图?

如何根据未知数的多列排除重复行

重写时间间隔模糊连接以减少内存消耗

如何修复geom_rect中的层错误?

如果缺少时间,如何向日期-时间列添加时间

按顺序将地块添加到列表

如何将数据框压缩为更宽,同时将行输入保持为行输入,而不是R中的列名?