當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。