我有一个很难分开我的列从数据集
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
tibble(sample=c("AM.F10.T1", "AM.F10.T2","DA.AD.1","DA.AD.2", "ES.AD.1"))
#> # A tibble: 5 × 1
#> sample
#> <chr>
#> 1 AM.F10.T1
#> 2 AM.F10.T2
#> 3 DA.AD.1
#> 4 DA.AD.2
#> 5 ES.AD.1
创建于2023-05-11带有reprex v2.0.2
让他们看起来
#> sample col1 col2
#> <chr>
#> 1 AM.F10.T1 AM.F10 T1
#> 2 AM.F10.T2 AM.F10 T2
#> 3 DA.AD.1 DA.AD 1
#> 4 DA.AD.2 DA.AD 2
#> 5 ES.AD.1 ES.AD 1
谢谢你花时间在我的岗位上
2条答案
按热度按时间dxxyhpgq1#
您可以使用
tidyr::separate_wider_regex()
来实现这一点(该函数在tidyr
的最新版本中)。您可以明确第一列和第二列中的内容以及它们之间的分隔。创建于2023-05-11带有reprex v2.0.2
qcbq4gxm2#
虽然
tidyr
包中的extract
函数被separate_wider_regex
取代,但我认为它有时仍然有用。在第一个捕获组中使用主动匹配将迫使后一个捕获组获取第二个点之后的内容。