这是我的代码:
w <- 5 # or some reasonable number
for (i in 2:189){
x <- 0
for (c in 1:w){
if (as.character(drlc[c,i]) == "Other Specify") {
x <- x+1
} else if (as.character(drlc[c,i]) == "Don't know") {
x <- x+1
}
}
}
Error in if (as.character(drlc[c, i]) == "Other Specify") { : missing value where TRUE/FALSE needed
我已经阅读并理解这个错误意味着我没有得到正确/错误的结果,但我不知道这是怎么可能的。事实上,我已经查看了数据并看到了数据。我已经在控制台中输入了比较结果(以及其他要测试的结果(,并得到了TRUE/FALSE,那么为什么我在实际代码中没有得到相同的TRUE/FALSE呢?感谢您的帮助和建议。
最后一次尝试,看看我是否能理解你想要实现的目标。。。
drlc <- data.frame(
column1 = 1:100,
column2 = sample(c("Other Specify", "Don't know", "Other"), size = 100, replace = TRUE),
column3 = sample(c("Other Specify", "Don't know", "Other"), size = 100, replace = TRUE),
column4 = sample(c("Other Specify", "Don't know", "Other"), size = 100, replace = TRUE),
column5 = sample(c("Other Specify", "Don't know", "Other"), size = 100, replace = TRUE),
column6 = sample(c("Other Specify", "Don't know", "Other"), size = 100, replace = TRUE)
)
drlc$Other_Specify_Count <- rowSums(drlc[,2:6] == "Other Specify")
head(drlc)
#> column1 column2 column3 column4 column5 column6
#> 1 1 Other Specify Don't know Other Specify Other Specify Don't know
#> 2 2 Other Don't know Other Other Specify Don't know
#> 3 3 Other Specify Don't know Other Don't know Other Specify
#> 4 4 Other Specify Other Specify Other Specify Other Specify Don't know
#> 5 5 Other Specify Other Other Don't know Other
#> 6 6 Don't know Don't know Don't know Other Don't know
#> Other_Specify_Count
#> 1 3
#> 2 1
#> 3 2
#> 4 4
#> 5 1
#> 6 0