【问题标题】:How to assign a numeric value (in new column) based on groupings of other columns R如何根据其他列 R 的分组分配数值(在新列中)
【发布时间】:2022-11-30 02:16:39
【问题描述】:

我想为每个唯一的变量组合分配一个值,并将这些值列在名为 ID 的新列中,如下所示。例如,我希望患有 Ta 癌症、N0 淋巴和 1 种免疫疗法的患者 ID 为 1。患有 TA、NX 和 1 的患者作为 ID 2 等等……下表是数据的外观像以前一样,以及我希望它看起来像之后的样子。数据是从 .csv 加载的

So to summarize: 
Patients TA, N0, 1 ID = 1
Patients TA, N0, 2 ID = 2 
Patients TA, Nx, 0 ID = 3
Patients TA, Nx, 1 ID = 4
Patients TA, N0, 0 ID = 5
Patients TA, Nx, 2 ID = 6 

前:

| Cancer   | Lymph    |Immunotherapy
| -------- | -------- |---------    
| TA       |  N0      |1           
| TA       |  N0      |2
| TA       |  N0      |1            
| TA       |  Nx      |0            
| TA       |  Nx      |1            
| TA       |  N0      |0 
| TA       |  Nx      |1            
| TA       |  Nx      |2       

后:


| Cancer   | Lymph    |Immunotherapy|ID
| -------- | -------- |---------    |-------
| TA       |  N0      |1            | 1
| TA       |  N0      |2            | 2
| TA       |  N0      |1            | 1
| TA       |  Nx      |0            | 3
| TA       |  Nx      |1            | 4
| TA       |  N0      |0            | 5
| TA       |  Nx      |1            | 4
| TA       |  Nx      |2            | 6

我尝试使用 group_by() dplyr 并进行变异,但没有成功。任何帮助将非常感激。谢谢!

【问题讨论】:

    标签: r group-by multiple-columns


    【解决方案1】:
    library(dplyr)
    df %>%
      group_by(Cancer, Lymph, Immunotherapy) %>%
      mutate(ID = cur_group_id()) %>%
      ungroup()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-16
      • 2020-05-23
      • 1970-01-01
      相关资源
      最近更新 更多