首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将字符串中的每个元素拆分为新列中的一行?

如何将字符串中的每个元素拆分为新列中的一行?
EN

Stack Overflow用户
提问于 2022-08-08 20:51:02
回答 1查看 46关注 0票数 0

我有这个数据集:

代码语言:javascript
运行
复制
data <- data.frame(column = c("apple, banana, cherry",
"apple, banana, cherry, grape", 
"apple, banana, cherry, grape, pear")) 

data

  column
1 apple, banana, cherry
2 apple, banana, cherry, grape
3 apple, banana, cherry, grape, pear

我希望我的输出是:

代码语言:javascript
运行
复制
  column1  column2  column3  column4  column5
1 apple    banana   cherry   NA       NA
2 apple    banana   cherry   grape    NA
3 apple    banana   cherry   grape    pear

我试过:strsplit(data$column, ","),但是这会返回一个列表,并且我很难将它返回到dataframe类型中,因为这些行的长度不等,并且不能工作:as.data.frame(strsplit(data$column, ","))

非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-08 21:01:23

代码语言:javascript
运行
复制
library(tidyr)
separate(data=df, col=column, sep=", ", into=paste0("column_", 1:5))

  column_1 column_2 column_3 column_4 column_5
1    apple   banana   cherry     <NA>     <NA>
2    apple   banana   cherry    grape     <NA>
3    apple   banana   cherry    grape     pear

您可以将预期列数的计算自动化

代码语言:javascript
运行
复制
library(stringr)
max(str_count(df$column, ","))+1 # returns 5
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73283863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档