Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用R从与另一列中的ID关联的列范围中仅选择特定的唯一值_R - Fatal编程技术网

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

如何使用R从与另一列中的ID关联的列范围中仅选择特定的唯一值,r,R,在上面的图片中,我只希望每个ID对应每个条件的单个值,使每个ID对应一行。这样,每个ID对应一行,每个条件下对应1或0。谢谢这可以通过使用dplyr软件包轻松完成 ID conditionA conditionB conditionC 1 1 0 0 1 0 0 1 1 0 0 0 2 1 0 1 2 0 1

在上面的图片中,我只希望每个ID对应每个条件的单个值,使每个ID对应一行。这样,每个ID对应一行,每个条件下对应1或0。谢谢

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

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

groupby()
将按
ID
分组,然后
summary()
fn操作将该
ID
下的所有行合并为一行
conditionA
将假定在该ID的所有行中找到的最大值,即,如果存在1,则它将是1;如果只存在0,则最大值为零。对于
conditionB
,和
conditionC

基本R中的类似方法可以是
聚合(.~ID,data,max)
,这些都是很好的答案,也很有效。但是,在我的数据中,我也有一些因子列。如果我想要一系列列的最大值,但同时也想要结果中的其余列,该怎么办?i、 e,max,但也获取其余列。谢谢,我认为如果我在组_by中添加其他列,这些列是日期和因素,然后在其余的数字列上使用summary和max,它也会起作用。
library(dplyr)

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