Read.csv不是在我的数据集中计算NAs
问题描述:
因此,我期待在论坛上获得一些R老兵的反馈。 :)Read.csv不是在我的数据集中计算NAs
我有一个CSV file (2.52KB)我目前无法确定来港当我运行下面的NA识别脚本(特别是在ORG列):
mydata = read.csv("DF_Cleanup_isNAError_Test.csv" header = TRUE, sep = ",", quote = "", dec = ".", fill = TRUE)
nan_count <-sapply(mydata, function(y) sum(length(which(is.na(y)))))
nan_count <- data.frame(nan_count)
nan_count
当我与NA值隔离记录ORG列在control data set(但只有30个总行)中运行相同的NA标识脚本会为列ORG返回30的计数。对于上面的脚本,这也是预期的,但这并未发生。
mydata = read.csv("DF_Cleanup_isNAError_Control.csv" header = TRUE, sep = ",", quote = "", dec = ".", fill = TRUE)
nan_count <-sapply(mydata, function(y) sum(length(which(is.na(y)))))
nan_count <- data.frame(nan_count)
nan_count
我完全现在难倒为什么会有与另外在数据集中的其他记录的差异,当什么也没有发生变化有关所指的个人记录。测试数据集仍然只是总人口数据的一个子集;我总共有大约850K行,但我认为这是隔离问题的良好开端。
这里是我当前的会话信息
R version 3.4.1 (2017-06-30)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United
States.1252 LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] dplyr_0.7.2
loaded via a namespace (and not attached):
[1] compiler_3.4.1 magrittr_1.5 assertthat_0.2.0 R6_2.2.2
tools_3.4.1 bindrcpp_0.2 glue_1.1.1 tibble_1.3.3
[9] Rcpp_0.12.12 pkgconfig_2.0.1 rlang_0.1.1 bindr_0.1
答
@jav回答了这个在评论部分,但我想这实际上应该作为一个答案来上市的。如果他将自己的评论重新发布为答案,我会删除它。
将na.strings = ""
添加到read.csv("filename.csv")
可以解决问题。
它可能被读作“NA”。你可以试试'哪个(y ==“NA”)'(在你的代码的上下文中)来测试这个? – CPak
尝试将'na.strings =“”'添加到'read.csv'调用中。 – jav
一个问题:你的'sapply'可以用'colSums(is.na(myData)'替换' –