仅根据名称的一部分对列进行排序,以简化行

时间:2020-01-29 13:29:17

标签: r variables multiple-columns delete-row

我在这里的第一个问题也不是很有经验,但是我希望这个问题很容易回答,因为我只想知道标题中描述的内容是否可能。

我从参与者的在线能力测试中提取了多个数据框。

对于所有项目,我都具有响应,得分和工期变量。

现在我要删除所有response变量均为NA的行。因此,我不仅可以使用命令删除所有不适用的行,而且还需要手动完成许多列。而且我还希望在执行数据操作时将其保持在一起,以便真正删除完整的行,因此仅提取所有response变量听起来并不是一个好选择。

但是,除了基于特定项目的3位数字外,responsevariables名称基本相同。

因此,与其写一个很长的不切实际的行来提及所有response变量,然后在它们都包含NA的情况下删除该行,不如不使用变量的完整主题,而仅使用名称的末尾,例如R检查所有以这种方式结束的变量的条件?

简化例如:代替

newdf <- olddf[!(olddf$item123response != NA & olddf$item131response != NA & etc),]

我可以做类似newdf <- olddf[!(olddf$xxxresponse != NA),]的事情吗?

我尝试用Google搜索答案,但我不知道如何有效地说明问题。

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试

newdf <- olddf[complete.cases(olddf[, grep('response', names(olddf))]), ]

相关问题