2015-10-05 74 views
0

我是新至R删除丢失的数据,所以请原谅我很基本的问题:麻烦从数据帧

我有,有很多缺失数据的数据帧。我用na.omit删除丢失的数据,如:

data2 <- na.omit(data1) 

Howevever,一些变量是似乎仍然有“”作为群归类之一,如因素:

> str(data2$smoker) 
Factor w/ 3 levels "","No","Yes": 2 2 2 2 2 2 2 3 3 2 ... 

当我看“data2”时,它仍然有缺失的值。我做错了什么?

帮助和建议非常感谢。

格雷格

+0

除非你让R这样做在你的文件中读取时,'“”'不被认为丢失。你是如何读取数据的? – Heroka

+0

默认情况下''“'不是缺失值。缺少的值由逻辑常量“NA”(请参阅​​帮助文件NA?)声明,或者在字符值的情况下由“NA_character_”声明。你可以例如试试'na.omit(factor(data2 $ smoker,levels = c(“No”,“Yes”)))'。 – lukeA

+0

@Heroka - 谢谢 - 我只是做了一个read.csv – drgregmartin

回答

0

NA是不一样的""

有什么区别?

  • NA表示缺失值
  • ""是一个空字符串,它是一种类型的值

na.omit将删除NA值,但它不会删除空字符串。

我建议把""NA使用na.omit前:

data1[data1$smoker == "", "smoker"] <- NA 
+0

我认为像'is.na(data1 $ smoker)< - data1 $ smoker ==“”'''的语法也应该可以工作。 – Frank