相关疑难解决方法(0)

R 中的多列旋转

我的数据是宽格式的,如下所示。数据包括名称和四个数据列。

df_wide <- data.frame(
  name = c("John", "Smith", "Tom", "Alice"),
  area = c("A", "A", "B", "B"),
  hello_1 = c(20, 30, 40, 70),
  hello_covered = c(60, 89, 76, 87),
  world_1 = c(55, 65, 20, 29),
  world_1_covered = c(87, 29, 43, 42)
)
Run Code Online (Sandbox Code Playgroud)

我想将其转换为长格式,针对每个名称,我得到两行和两个数据列。期望该数据如下所示

   name area medicine value covered
1  John    A  hello    20      60
2  John    A  world    55      87
3 Smith    A  hello    30      89
4 Smith    A  world    65      29
5   Tom    B  hello    40      76
6   Tom    B …
Run Code Online (Sandbox Code Playgroud)

pivot r dataframe tidyr

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

跨多列的pivot_longer,如何使用names_pattern参数

df_wide <- structure(list(name = c("Crushers GC", "4Aces GC"), first_name = c("Charles", 
"Peter"), last_name = c("Howell III", "Uihlein"), first_name_1 = c("Paul", 
"Pat"), last_name_1 = c("Casey", "Perez"), first_name_2 = c("Bryson", 
"Dustin"), last_name_2 = c("DeChambeau", "Johnson"), first_name_3 = c("Anirban", 
"Patrick"), last_name_3 = c("Lahiri", "Reed")), row.names = c(NA, 
-2L), class = c("tbl_df", "tbl", "data.frame"))

name        first_name last_name  first_name_1 last_name_1 first_name_2 last_name_2 first_name_3 last_name_3
  <chr>       <chr>      <chr>      <chr>        <chr>       <chr>        <chr>       <chr>        <chr>      
1 Crushers GC Charles    Howell III Paul         Casey       Bryson       DeChambeau  Anirban      Lahiri …
Run Code Online (Sandbox Code Playgroud)

r tidyr

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

标签 统计

r ×2

tidyr ×2

dataframe ×1

pivot ×1