当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R tidyr separate_rows 将折叠的列分成多行


[Superseded]

separate_rows() 已被 separate_longer_delim() 取代,因为它具有与其他单独函数更加一致的 API。被取代的函数不会消失,但只会收到关键的错误修复。

如果变量包含具有多个分隔值的观测值,separate_rows() 会分隔这些值并将每个值放在其自己的行中。

用法

separate_rows(data, ..., sep = "[^[:alnum:].]+", convert = FALSE)

参数

data

一个 DataFrame 。

...

< tidy-select > 跨多行分隔的列

sep

分隔折叠值的分隔符。

convert

如果TRUE会自动在键列上运行type.convert()。如果列类型实际上是数字、整数或逻辑,这非常有用。

例子

df <- tibble(
  x = 1:3,
  y = c("a", "d,e,f", "g,h"),
  z = c("1", "2,3,4", "5,6")
)
separate_rows(df, y, z, convert = TRUE)
#> # A tibble: 6 × 3
#>       x y         z
#>   <int> <chr> <int>
#> 1     1 a         1
#> 2     2 d         2
#> 3     2 e         3
#> 4     2 f         4
#> 5     3 g         5
#> 6     3 h         6

# Now recommended
df %>%
  separate_longer_delim(c(y, z), delim = ",")
#> # A tibble: 6 × 3
#>       x y     z    
#>   <int> <chr> <chr>
#> 1     1 a     1    
#> 2     2 d     2    
#> 3     2 e     3    
#> 4     2 f     4    
#> 5     3 g     5    
#> 6     3 h     6    
源代码:R/separate-rows.R

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Separate a collapsed column into multiple rows。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。