【发布时间】:2013-01-11 21:06:56
【问题描述】:
我在 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] 调用列。
任何帮助将不胜感激。
谢谢
【问题讨论】: