我有一个数据框架与一些ID和6个变量。我需要在每个观测值中检查这些变量的NA,并保存有NA的变量的标签。如果有一个NA的6个变量中只有一个,我没有问题让它与ifelse()语句一起工作-但如果有两个,我想粘贴类似"OBS在VAR1和VAR2中缺少数据"的东西;我似乎无法让浆糊工作。粘贴当前只是覆盖,如果有东西在新的单元格已经,隐藏其他变量,那里有一个NA记录。你能帮忙吗?
目前,我用于保存/粘贴名称在一起的ifelse语句(如我希望新列保存名称,如"missing_in_var1_var2")看起来像这样,但是,它不起作用:
在一个突变表达式中:
colname_label = ifelse(missing == 'Missing_in_two',
ifelse(is.na(VAR1) == TRUE, paste("VAR1"),
ifelse(is.na(VAR2== TRUE, paste("VAR2"),
ifelse(is.na(VAR3) == TRUE, paste("VAR3"),
ifelse(is.na(VAR4) == TRUE, paste("VAR4"),
ifelse(is.na(VAR5) == TRUE, paste("VAR5),
ifelse(is.na(VAR6== TRUE, paste("VAR6"),''))))))) # NO of parentheses here is not the issue - part of a bigger expression
我很抱歉,如果这个问题是愚蠢的-我觉得我应该能够做到这一点,但盯着自己瞎了。
希望你能帮忙!
tryapply
withpaste
dt$`missinh val in` <- apply(dt, 1 , function(x)
{paste(colnames(dt)[is.na(x)], collapse="_")}
)