繁体   English   中英

如何使用R从与另一列中的ID相关联的一系列列中仅选择特定的唯一值

[英]How to select only specific unique values from a range of columns which are associated with an ID in another column using R

ID conditionA conditionB conditionC
1    1            0       0
1    0            0       1
1    0            0       0
2    1            0       1
2    0            1       0
3    1            0       1
3    0            1       0
3    1            1       0

在上图中,我希望每个 ID 只有每个条件的单个值,使其成为每个 ID 的一行。 这样我就可以为每个 ID 分配一行,并且在每个条件下为 1 或 0。谢谢

这可以通过使用 dplyr 包轻松完成。

library(dplyr)

data %>%
  group_by(ID) %>%
  summarize(
    conditionA = max(conditionA), 
    conditionB = max(conditionB),
    conditionC = max(conditionC)
  )

group_by()将按ID分组,然后summarize()函数将将该ID下的所有行合并为一个。 conditionA将假定在该 ID 的所有行中找到的最大值,即,如果存在 1,则它将为 1; 如果仅存在 0,则最大值为零。 conditionBconditionC相同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM