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 
+1

它可能被读作“NA”。你可以试试'哪个(y ==“NA”)'(在你的代码的上下文中)来测试这个? – CPak

+2

尝试将'na.strings =“”'添加到'read.csv'调用中。 – jav

+1

一个问题:你的'sapply'可以用'colSums(is.na(myData)'替换' –

@jav回答了这个在评论部分,但我想这实际上应该作为一个答案来上市的。如果他将自己的评论重新发布为答案,我会删除它。

na.strings = ""添加到read.csv("filename.csv")可以解决问题。