从下划线拆分成不同的行[重复]

问题描述 投票:0回答:1

我目前正在做声音注释,我想做这个。

但是,碰巧在一个注释中,有几个物种。所以我有一个数据框,其中一列用于注释,一列用于时间间隔,其他的都没有关系。

我正在研究 R

Ex:A_B_C,我想将这一行 A_B_C 转换为 A、B 和 C 3 行,我想在已创建的其他行中保留第一行的其他信息。

(如果有任何错误,请原谅我的英语)

我已经看到可以通过下划线进行拆分。但是在这段代码中:

df$new <- substr(df$x, regexpr("_", df$x)+1, length(df$x))

它只创建一个新列。我不想这样做。

这是我的第一篇文章,如果不是很清楚请见谅

r split row
1个回答
0
投票

{tidyr} 包有一个函数

separate_rows()
它将拆分一列并将结果作为行插入,保留来自其他列的信息。

library(dplyr)
library(tidyr)

mydat <- tibble(x = "A_B_C", y = 1)

mydat %>% 
  separate_rows(x, sep = "_")
#> # A tibble: 3 × 2
#>   x         y
#>   <chr> <dbl>
#> 1 A         1
#> 2 B         1
#> 3 C         1

创建于 2023-03-13 与 reprex v2.0.2

© www.soinside.com 2019 - 2024. All rights reserved.