У меня есть несколько столбцов в R, и для каждой строки будет только когда-либо значение в одном из них, остальные будут NA. Я хочу объединить их в один столбец с не-NA значением. Кто-нибудь знает простой способ сделать это. Например, я мог бы иметь следующее:
data <- data.frame('a' = c('A','B','C','D','E'),
'x' = c(1,2,NA,NA,NA),
'y' = c(NA,NA,3,NA,NA),
'z' = c(NA,NA,NA,4,5))
Итак, у меня было бы
'a' 'x' 'y' 'z'
A 1 NA NA
B 2 NA NA
C NA 3 NA
D NA NA 4
E NA NA 5
И я хотел бы получить
'a' 'mycol'
A 1
B 2
C 3
D 4
E 5
Имена столбцов, содержащих NA, изменяются в зависимости от кода ранее в запросе, поэтому я не могу явно вызывать имена столбцов, но у меня есть имена столбцов, содержащие NA, хранящиеся в виде вектора, например. в этом примере cols <- c('x','y','z')
, поэтому вы можете вызвать столбцы с помощью data[, cols]
.
Любая помощь будет оценена.
Спасибо