我有一个包含各种NA值的数据。最简单的是NA,可以使用is.na()轻松找到它。但是,有些只是空白值,有些是N / A值。
对于NA值,我使用colnames(data)[colSums(is.na(data)) > 0]
来查找包含NA值的列名。我想为空白和不适用的人做同样的事情。
数据如下:
data = read.csv("file")
id description hosts zipcode room available no room
3432 It is good Michael P. 10203 T 3
3433 Sam E. 12030 T 9
1023 It is not bad NA F NA
2020 N/A NA F NA
id:数字唯一 说明:文字 主持人:文字 邮政编码:唯一数字 可用房间:因素 没有空间:数字
我可以找到这样的N / A值data[data=="N/A"]
,但这并没有给我列名。
答案 0 :(得分:1)
如果只有这些情况,则可以执行以下操作:
na_cols = sapply(df, function(x) sum(ifelse(x == '' | is.na(x) == TRUE | x == 'N/A', 1, 0)))
names(na_cols[na_cols > 0])
如果还有更多“ NA”条件,则需要添加到ifelse语句中。