首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在R中模仿Microsoft Excel的Text to columns功能,将多个字符串中的分隔符的变量号拆分为多个列?

如何在R中模仿Microsoft Excel的Text to columns功能,将多个字符串中的分隔符的变量号拆分为多个列?
EN

Stack Overflow用户
提问于 2019-06-02 23:31:01
回答 1查看 157关注 0票数 1

作为这个论坛中类似于this的几个问题的扩展,由于我检查的这个论坛中已经提供的建议都不能给我提供我正在寻找的解决方案,所以我在这里发布这个问题。

我想将一个可变长度字符串的列表拆分成一个数据帧,如下面的示例所示,该列表包含可被视为分隔符的可变数量的符号。。有什么建议吗?

x = c(NA, "a/b", "a/b/c/d", "a/b/c","a/c","a/b/c/d/e")

df <-  data.frame(x1 = c("a","a","a","a","a"),
                  x2 = c("b","b","b","c","b"),
                  x3 = c(NA,"c","c",NA,"c"),
                  x4 = c(NA,"d",NA,NA,"d"),
                  x5 = c(NA,NA,NA,NA,"e"))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-02 23:57:45

我们可以在通过paste将字符串转换为由\n分隔的单个字符串之后,从base R使用read.table

read.table(text = paste(x[-1], collapse="\n"), 
   header = FALSE, stringsAsFactors = FALSE, sep="/", fill = TRUE, na.strings = "")
#  V1 V2   V3   V4   V5
#1  a  b <NA> <NA> <NA>
#2  a  b    c    d <NA>
#3  a  b    c <NA> <NA>
#4  a  c <NA> <NA> <NA>
#5  a  b    c    d    e

或者使用来自data.tablefread

library(data.table)
fread(paste(x[-1], collapse="\n"), sep="/", header = FALSE, fill = TRUE)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56416442

复制
相关文章

相似问题

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