我想要排除一个子集中包含我所选择的某一列的NA值的行。我的调查数据以这种方式组织,比如:
name idnum term type q2 q3
bob 0321 1 2 0 .
. . 3 1 5 3
ron . 2 4 2 1
. 2561 4 3 4 2
当我创建我的R工作空间时,我设置了如下格式:
data <- read.csv(..., na.strings='.')
。为了分析目的,我按术语和类型创建了子集,比如 set13 <- subset(data, term=1 & type=2)
。当我试图进行t检验时,我注意到该函数会抛弃任何NA实例,有效地将我的样本量减半。对于我的分析,我想排除缺少调查项目响应的行,例如Bob在我的例子中,缺少问题3。但我仍希望包括那些
name
或idnum
列中有一个或多个NA的行。因此,我想选择省略NAs的列。(请记住,这只是一个示例 - 我实际的CSV文件有大约1000行,因此每个子集可能包含100-150行。)我知道可以使用数据框来完成此操作,但我不确定如何将其纳入到我的给定子集格式中。有没有一种方法可以做到这一点?
data[complete.cases(data[,c(3,7,8)]),]
这将返回第3、7、8列的完整数据。这是你想要的吗? - Rilcon42