从数据框中的两列中删除NA

时间:2020-07-22 08:32:45

标签: dataframe whitespace na

我有这个数据框

                               atac.v1.pbmc.5k.possorted.bam.bam possorted.bam.bam
chr1.9941.10736                                 NA                NA
                                             13196              4348
chr1.10918.11476                                NA                NA
                                              2624               658
chr1.20874.21591                                NA                NA
                                               652               343

,我想删除NA并得到它:

                               atac.v1.pbmc.5k.possorted.bam.bam possorted.bam.bam
chr1.9941.10736                              13196              4348                 
chr1.10918.11476                             2624               658                  
chr1.20874.21591                             652                343 
                                             

关于删除NA的问题很多,但我无法设法使用它们中的任何一个。我尝试删除NA和各种代码来删除空格,但无法删除。任何帮助将不胜感激。

最好

Jason

2 个答案:

答案 0 :(得分:0)

对于R,已经提出了类似的问题here

因此,当您想在R中求解时,可以例如。使用以下内容:

df = data.frame('name'=c('a',NA,'b',NA), 'val'=c(NaN, 1, NaN, 5))
library(dplyr)
na.omit(transform(df, name = lag(name)))

仅允许df运行最少的程序。

答案 1 :(得分:0)

嗨,@ RicS和@Robert Wilson,在我放入dput(df)之后,我得到了

"", "s37d5.35353959.35354523", "", "s37d5.35354792.35354991", 
"", "s37d5.35364108.35364390", "", "s37d5.35365154.35365375", 
"", "s37d5.35371939.35372823", "", "s37d5.35373959.35374177", 
"", "s37d5.35382938.35383151", "", "s37d5.35391117.35391934", 
"", "s37d5.35391998.35392218", "", "s37d5.35411836.35412109", 
"", "s37d5.35427424.35427818", "", "s37d5.35431087.35431415", 
"", "s37d5.35431545.35431772", "", "s37d5.35449122.35449455", 
"", "s37d5.35449665.35450121", "", "s37d5.35451782.35451987", 
"", "s37d5.35453892.35454283", ""), c("atac.v1.pbmc.5k.possorted.bam.bam", 
"possorted.bam.bam")))

我只是复制并粘贴了其中的一部分。