Как выбрать только определенные c уникальные значения из диапазона столбцов, которые связаны с идентификатором в другом столбце с помощью R - PullRequest
0 голосов
/ 04 марта 2020
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

на картинке выше, я хочу, чтобы для каждого идентификатора было только одно значение каждого условия, делая его отдельной строкой для каждого идентификатора. Таким образом, у меня может быть одна строка для каждого идентификатора и для каждого условия 1 или 0. Спасибо

1 Ответ

2 голосов
/ 04 марта 2020

Это можно легко сделать с помощью пакета dplyr.

library(dplyr)

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

group_by() сгруппируется по ID, тогда функция summarize() объединит все строки под этим ID до один. conditionA примет максимальное значение, найденное во всех строках для этого идентификатора, то есть, если присутствует 1, то оно будет одним; если присутствуют только 0, то максимум будет равен нулю. То же самое для conditionB и conditionC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...