Как собрать dataframe, чтобы сделать столбцы в один столбец - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть эти данные:

structure(list(id = 1:6, arthritis = c(1L, 0L, 0L, 0L, 0L, 1L
), asthma = c(0L, 0L, 0L, 0L, 0L, 0L), cancer = c(0L, 0L, 0L, 
0L, 0L, 0L), cerebvascdz = c(0L, 0L, 0L, 0L, 0L, 0L), chf = c(0L, 
0L, 0L, 0L, 0L, 0L), crf = c(0L, 0L, 0L, 0L, 0L, 0L), copd = c(0L, 
0L, 0L, 0L, 0L, 0L), depression = c(0L, 0L, 0L, 1L, 1L, 1L), 
    diabetes = c(0L, 0L, 0L, 0L, 0L, 0L), hyperlipid = c(1L, 
    0L, 1L, 0L, 1L, 0L), htn = c(1L, 0L, 1L, 1L, 0L, 1L), ihd = c(1L, 
    0L, 0L, 0L, 0L, 0L), obesity = c(0L, 0L, 0L, 0L, 0L, 0L), 
    osteoporosis = c(0L, 0L, 0L, 0L, 0L, 1L)), row.names = c(NA, 
6L), class = "data.frame")

, который содержит идентификатор пациента.все остальные столбцы представляют собой сопутствующие заболевания, которые пациент может иметь, обозначенные как логическое значение.Я пытаюсь использовать метод сбора, чтобы перевернуть таблицу, , как показано ниже .Предполагается, что каждая коморбидность, имеющаяся у пациента, заполняется справа, а идентификатор пациента - слева.

Я почти уверен, что должен использовать функцию сбора, но я не могу заставить это работать.Кто-нибудь знает, что я должен делать, чтобы переключить фрейм в нужный формат?

1 Ответ

0 голосов
/ 15 февраля 2019

Вот правильный код

pmh %>% 
  gather(diagnosis,num, arthritis:osteoporosis) %>% 
  arrange(id) %>% 
  filter(num == 1)

Я новичок в R, и я думаю, что я неправильно понял первый аргумент, который получает набор.

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