导入.csv文件时防止添加NA – R

我工作会从Excel中的许多.csv文件。 有时我使用导入数据

 data=read.csv("data.csv", header=T) 

NAs的列或行将随机添加。 这似乎发生,如果有人在数据录入R期间使用其他列。

它会看起来像这样

 > df v1 v2 X X.1 1 a 1 NA NA 2 a 1 NA NA 3 a 1 NA NA 4 a 0 NA NA 5 a 0 NA NA 6 a 0 NA NA 7 a 1 NA NA 8 a 1 NA NA 9 a 0 NA NA 10 a 0 NA NA 11 a 1 NA NA 12 a 0 NA NA 13 a 1 NA NA 14 a 1 NA NA 15 b 1 NA NA 16 b 1 NA NA 17 b 0 NA NA 18 b 0 NA NA 19 b 0 NA NA 20 b 0 NA NA 21 b 0 NA NA 22 b 0 NA NA 23 b 0 NA NA 24 b 1 NA NA 25 b 1 NA NA 26 b 1 NA NA 27 b 1 NA NA 28 b 1 NA NA 

反正有防止这些被添加? read.csv()命令中有参数吗?

如果要删除所有NA值的列:

 deNA <- function(df){ df[,!sapply(df, function(col){all(is.na(col))}, simplify=TRUE),drop=FALSE] } 

接着:

 foo = deNA(read.csv("data.csv",header=TRUE)) 

应该做的窍门:

foo.csv:

 1,2,3,4,,, 2,3,4,5,,6, 5,4,3,2,,, 1,2,3,4,,, 

然后

 > read.csv("foo.csv") X1 X2 X3 X4 X X.1 X.2 1 2 3 4 5 NA 6 NA 2 5 4 3 2 NA NA NA 3 1 2 3 4 NA NA NA > deNA(read.csv("foo.csv")) X1 X2 X3 X4 X.1 1 2 3 4 5 6 2 5 4 3 2 NA 3 1 2 3 4 NA