R - complete.cases并非所有参数都具有相同的长度

时间:2015-04-11 18:09:02

标签: r na

我对R complete.cases()功能有疑问。

我正在使用Electric power consumption data,我想使用complete.cases()函数检查我的子集中是否有任何NA。

我希望得到完整案例的数量,但我得到一个错误,说“并非所有参数都具有相同的版本”。

我给complete.cases()只有一个参数是数据框。 df中的所有列都具有相同的长度。当然我可以使用sum(is.na())函数检查每列中的NA,但我很好奇为什么complete.cases()不起作用。

此外,当我生成数据框,其中3列填充了随机数,complete.cases()工作。

这是我的代码,以便您可以重现错误:

### READING DATA

# reading full file
data <- read.table("household_power_consumption.txt", header=1, sep=";", na.strings="?")

# changing Date and Time columns to R classes
data$Time = strptime(paste(data$Date, data$Time),"%d/%m/%Y %H:%M:%OS")
data$Date = as.Date(data$Date, format="%d/%m/%Y")

# filtering to needed days
data = subset(data, Date == '2007-02-01' | Date == '2007-02-02')

# checking if there are any NAs in data
dim(data)
sum(complete.cases(data))

1 个答案:

答案 0 :(得分:3)

complete.cases和处理日期存在一些问题,这里提到:

R apply error - error in as.matrix.data.frame()

您的数据框包含日期,因此应该与日期相关。我检查了na.omit可以正常使用您的数据集,因此您可以使用它。