R:'在需要真/假的情况下缺少价值'

时间:2015-07-02 10:02:55

标签: r

所以我知道以前曾经问过这个问题,但是根据我搜索过的内容,我无法找到问题的答案。我还应该添加一个相对较新的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

非常感谢任何帮助!

2 个答案:

答案 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

如果有帮助,请告诉我。

相关问题