Возможно, вам будет проще работать с другим форматом данных. Попробуйте
long_format <- data_frame %>%
gather(letter, value, A:C)
Наличие person_ID 14
немного усложняет ситуацию на этом этапе, потому что у этого человека нет никаких значений для каких-либо букв. Чтобы удалить NA из других идентификаторов, этот идентификатор полностью исчезает. Если все в порядке, вы можете сделать
long_format <- data_frame %>%
gather(letter, value, A:C, na.rm = TRUE)
Чтобы использовать это, чтобы получить всех людей с 2 в качестве значения в письме, независимо от чего-либо еще, возьмите
long_format %>%
filter(value == 2)
Чтобы сгруппировать их по значению (может не работать с NA), возьмите
long_format %>%
group_by(city, value) %>%
summarize(
n = n(), # will summarize how many individuals are in each pair
IDs = paste(person_ID, collapse = " ") # which IDs are in each group
)
Это всего лишь примеры - я не совсем уверен, что вы хотите сделать с данными на данный момент.