我在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]
调用列.
任何帮助都将不胜感激.
谢谢