Possible Duplicate:
R - remove rows with NAs in data.frame
我有一个从以下函数派生的数据框:
complete <- function(directory,id = 1:332) {
csvfiles <- sprintf("/Users/myname/Desktop/%s/%03d.csv", directory, id)
nrows <- sapply( csvfiles, function(f) nrow(read.csv(f)))
rowlabels <- nrow(nrows)
data.frame(id=sprintf('%3d', id),
nobs=sapply(csvfiles,function(x) length(count.fields(x))),
row.names=rowlabels
)
}
NA
实例的每个文件中排除行。NA
的行? 最佳答案
替换此行:
nrows <- sapply( csvfiles, function(f) nrow(read.csv(f)))
这行使用complete.cases
函数:
nrows <- sapply( csvfiles, function(f) nrow(complete.cases(read.csv(f))))
complete.cases
获取一个数据帧,并返回一个具有相同列的数据帧,但是所有包含至少一个NA
的行都被抛出。