R过滤掉缺少值的行

时间:2013-04-22 03:31:32

标签: r

我有一个csv文件,其中(在一列中)缺少一些值,我想省略data.file中的相应行。

我认为这是通过写作

data <- read.csv(file="name.csv",head=TRUE,sep=";", na.strings = "NA")

na.strings =“NA”选项用NA替换缺失值,然后我可以使用

cleanData <- na.omit(data) or cleanData <- data[complete.cases(data), ]

过滤掉缺失的部分。

但即使应用了第一部分,即包括na.strings =“NA”选项,结果数据框仍然包含空条目而不是NA条目的行。

有人知道出了什么问题吗?

3 个答案:

答案 0 :(得分:5)

回答你在评论中提出的问题:

我相信你的目的是转变na.strings论点。它没有告诉R如何替换NA。相反,它会告诉R输入文件中的哪些值应被视为 NA


例如,您可能遇到使用-1来指示数据丢失的data.source。在这种情况下,您将使用na.string='-1'

如果你看?read.csv

  

na.strings

     

字符串的字符向量,将被解释为NA值。空字段也被视为逻辑,整数,数字和复杂字段中的缺失值。

答案 1 :(得分:2)

您错误地使用了na.strings。要使用NA替换空字段,请执行data[data == ""] <- NA

答案 2 :(得分:2)

尝试data.frame.instance <- data.frame.instance[!is.na(data.frame.instance),],您应该留下没有任何NA的data.frame。