抱歉没有提供模拟数据集,但这里是我的问题的屏幕截图:
你所看到的是我的数据帧的一个子集。我试图从我的数据帧中删除实际行号中有NA, NA.1, NA.x ...NA.6
的行。
我已经尝试回到我原来的.csv文件并删除我的数据结束处的~200个空白行,但这没有帮助。
有任何想法吗?
也许以下代码将为您删除NA记录:
df <- df[rowSums(is.na(df))<length(df), ]
列的推论是
df <- df[, colSums(is.na(df))<nrow(df)]
在一个R兔子洞里待了好几个小时后,我想出了一些答案,虽然不太令人满意。
我尝试了一些选项,如DF [!is.na(DF $ column_w / _an_NA_that_should_have_data),]删除这些行,但我得到的结果是指定列中没有NA / NA行。
我发现它有一些事情要做“合并”。我向您展示的数据帧(DF)是两个不同长度的DF的合并DF。两个DF相差8行 - 恰好是奇怪的NA.x列的数量。
我将DF称为240行“DFA”,DF称为232行“DFB”。我使用DFC <-merge(DFA,DFB,all = T)来合并DF。如果我将DFC导出为.csv并在Excel中打开它,一切看起来应该是 - 所有240行都在那里,并且有8行的子集在DFA特定列中具有NA。
那么为什么当我对数据进行子集化时,这些NA.x行(即行#中的NA.x)会出现?好吧,我发现当我通过DFA和DFB常用的列对数据进行子集时,输出看起来很正常。也就是说,没有奇怪的NA.x行。但是,当我按DFA特有的列对数据进行子集时,该列中有NA的8行显示为完全NA.x行。更具体地,我将由因子组成的DFA独特列子集化为例如3个级别中的1个。这是我看到弹出NA.x行的时候。
我不知道为什么整行变成这些奇怪的NA.x行,因为这些行在DFA-DFB公共列和DFB唯一列中都有数据。
有没有人遇到过类似的现象?我交谈的R-wizzes从未遇到过它,也无法想象为什么会发生这种情况。
雪莱