所以我知道以前曾经问过这个问题,但是根据我搜索过的内容,我无法找到问题的答案。我还应该添加一个相对较新的R(以及任何类型的编码),所以在修复代码问题时我不太清楚我在寻找什么。
我的代码是:
education_ge <- data.frame(matrix(ncol=2, nrow=1))
colnames(education_ge) <- c("Education","Genetic.Engineering")
for (i in 1:nrow(survey))
if (survey[i,12]=="Bachelors")
education_ge$Education <- survey[i,12]
提供更多信息,&#39;调查&#39;是一个包含12列和26行的数据框,第12列“教育”是一个具有诸如“Bachelors&#39;”,“&#39; Masters&#39;”等级别的因素。 ,&#39;博士学位&#39;等
这是R:
中出现的错误for (i in 1:nrow(survey))
if (survey[i,12]=="Bachelors")
education_ge$Education <- survey[i,12]
Error in if (survey[i, 12] == "Bachelors") education_ge$Education <- survey[i, :
missing value where TRUE/FALSE needed
非常感谢任何帮助!
答案 0 :(得分:0)
如果您只是想忽略任何缺少值的记录并继续进行分析,请尝试在开头插入:
survey <- survey[ complete.cases(survey), ]
它基本上可以找到任何地方没有NA的所有行的索引,然后子集调查只包含那些行。
有关子集的更多信息,请尝试阅读本章:http://adv-r.had.co.nz/Subsetting.html
命令:
sapply(survey,function (x) sum(is.na(x)))
将显示每列中有多少个NAs。这可能有助于您清理数据。
答案 1 :(得分:0)
你可以试试这个:
sub<-subset(survey,survey$Education=="Bachelors")
education_ge$Education<-sub$Education
如果有帮助,请告诉我。