首页 > 解决方案 > 是否有一个 R 函数可以让我使用模式匹配来拆分和重组数据框?

问题描述

我有一个看起来像这样的数据框:

Subject_ID| Burn_L |Burn_R |
1         |  23    | 17    |
2         |  5     | 28    |

我需要数据框来采用这种结构

Subject_ID| Side   |Burn_Radius|
1         | L_Side | 23
1         | R_Side | 17
2         | L_Side | 5
2         | R_side | 28

我尝试使用 Tidyverse collect() 但它并不能完全按照我的需要工作。有人知道我转换这些数据的方法吗?

标签: rdataframetransformation

解决方案


这是你需要的吗?值的名称似乎从您的输入变为输出,所以我不完全确定。

> dat %>% tidyr::pivot_longer(-Subject_ID, names_to="Side", values_to="Burn_Radius")
# A tibble: 4 x 3
  Subject_ID Side   Burn_Radius
       <int> <chr>        <int>
1          1 Burn_L          23
2          1 Burn_R          17
3          2 Burn_L           5
4          2 Burn_R          28

推荐阅读