相关疑难解决方法(0)

将数据框字符串列拆分为多个不同的列

我想要完成的是将列拆分为多个列.我希望第一列包含"F",第二列"US",第三列"CA6"或"DL",第四列是"Z13"或"U13"等等.我的整个df遵循相同的模式X.XX.XXXX.XXX或X.XX.XXX.XXX或X.XX.XX.XXX我知道第三列是我的问题所在,因为长度不同.我过去只使用了substr,我可以在这里使用一些if语句,但是想学习如何使用stringr包和POSIX来做到这一点(除非有更好的选择).先感谢您.

这是我的df:

c("F.US.CLE.V13", "F.US.CA6.U13", "F.US.CA6.U13", "F.US.CA6.U13", 
"F.US.CA6.U13", "F.US.CA6.U13", "F.US.CA6.U13", "F.US.CA6.U13", 
"F.US.DL.U13", "F.US.DL.U13", "F.US.DL.U13", "F.US.DL.Z13", "F.US.DL.Z13"
)
Run Code Online (Sandbox Code Playgroud)

split r dataframe stringr

27
推荐指数
3
解决办法
9万
查看次数

将strsplit的结果分配给多列数据框

我试图在数据框内将字符向量分成三个不同的向量.

我的数据类似于:

> df <- data.frame(filename = c("Author1 (2010) Title of paper", 
                                "Author2 et al (2009) Title of paper",
                                "Author3 & Author4 (2004) Title of paper"),
                   stringsAsFactors = FALSE)
Run Code Online (Sandbox Code Playgroud)

我想这3个信息(拆分authors,year,title)分成三个不同的列,所以,这将是:

> df
                          filename             author  year   title
 1           Author1 (2010) Title1            Author1  2010  Title1
 2     Author2 et al (2009) Title2      Author2 et al  2009  Title2
 3 Author3 & Author4 (2004) Title3  Author3 & Author4  2004  Title3
Run Code Online (Sandbox Code Playgroud)

我习惯在3个元素的向量中strsplit分割每个filename元素:

 df$temp <- strsplit(df$filename, " …
Run Code Online (Sandbox Code Playgroud)

r multiple-columns strsplit

4
推荐指数
3
解决办法
662
查看次数

使用 R/tidyverse 在未定义的列数中分隔数据框的列

我必须导入一个类似于以下数据框的表:

> df = data.frame(x = c("a", "a.b","a.b.c","a.b.d", "a.d"))
> df
      x
1  <NA>
2     a
3   a.b
4 a.b.c
5 a.b.d
6   a.d
Run Code Online (Sandbox Code Playgroud)

我想根据我会找到多少个分隔符将第一列分隔在一列或多列中。

输出应该像这样

> df_separated
  col1 col2 col3
1    a <NA> <NA>
2    a    b <NA>
3    a    b    c
4    a    b    d
5    a    d <NA>
Run Code Online (Sandbox Code Playgroud)

我尝试在 tidyr 中使用单独的函数,但我需要先验地指定我需要多少输出列。

非常感谢您的帮助

r data-import tidyr tidyverse

1
推荐指数
1
解决办法
702
查看次数