这个问题已经在这里有了答案:
已关闭8年。
Possible Duplicate:
R - remove rows with NAs in data.frame
我有一个名为sub.new的数据框,其中有多个列。我正在尝试排除任何包含
NA
或blank space
“
”的单元格。我尝试使用
subset()
,但它的目标条件是特定的列。无论如何,有没有要扫描整个数据帧并创建一个子集,该子集的任何单元格都不是NA
或blank space
?在下面的示例中,仅保留第一行:
# ID SNP ILMN_Strand Customer_Strand
ID1234 [A/G] TOP BOT
Non-Specific NSB (Bgnd) Green
Non-Polymorphic NP (A) Red
Non-Polymorphic NP (T) Purple
Non-Polymorphic NP (C) Green
Non-Polymorphic NP (G) Blue
Restoration Restore Green
有什么建议?谢谢
最佳答案
一个好主意是在进行任何进一步分析之前,将所有“”(空白单元格)设置为NA。
如果您正在从文件中读取输入,则最好将所有“”都强制转换为NA:
foo <- read.table(file="Your_file.txt", na.strings=c("", "NA"), sep="\t") # if your file is tab delimited
如果已经加载了表,则可以执行以下操作:
foo[foo==""] <- NA
然后,仅保留没有NA的行,您可以使用
na.omit()
:foo <- na.omit(foo)
或保留没有NA的列:
foo <- foo[, colSums(is.na(foo)) == 0]
关于r - 排除R中的空白和NA ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12763890/