Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:打印列名和大于0的缺少值的数量_R_For Loop_Missing Data - Fatal编程技术网

R:打印列名和大于0的缺少值的数量

R:打印列名和大于0的缺少值的数量,r,for-loop,missing-data,R,For Loop,Missing Data,房价数据集有大量变量,很少有变量有许多缺失值。 我要查找每个变量缺少的值的数量。 但是由于变量的数量很大,数据有时难以观察。 (以下只是示例数据集。Actual大约有80个变量。) 因此,我想创建一个小函数,用于打印列名和NA计数。 我试过下面的方法 for (x in filtered_data){ if (sum(is.na(x)>0)){ print(sum(is.na(x))) print(colnames(x)) } } 然而,结果是: [1]

房价数据集有大量变量,很少有变量有许多缺失值。
我要查找每个变量缺少的值的数量。
但是由于变量的数量很大,数据有时难以观察。
(以下只是示例数据集。Actual大约有80个变量。)

因此,我想创建一个小函数,用于打印列名和NA计数。
我试过下面的方法

for (x in filtered_data){
   if (sum(is.na(x)>0)){
       print(sum(is.na(x)))
       print(colnames(x))
}
}
然而,结果是:

[1] 259
NULL
[1] 8
NULL
[1] 8
NULL
[1] 37
NULL
[1] 37
NULL
[1] 38
NULL
[1] 37
NULL
有没有一种方法可以打印如下内容:

Lot_Extent: 259
Garage: 81
Garage_Built_Year: 81

等等…

这里有一个矢量化选项:

data <- colSums(is.na(filtered_data))
cat(paste(names(data), data, sep = ' : ', collapse = '\n'))

data
namedCounts
for(x in names(filtered_data))if(any(is.na(filtered_data[[x]])cat(x,”:”,sum(is.na(filtered_data[[x]]),“\n”,sep=“”)
也不是答案,但我推荐该软件包
skimer
及其功能
skim skim
skimer::skim(filtered_data)
data <- colSums(is.na(filtered_data))
cat(paste(names(data), data, sep = ' : ', collapse = '\n'))
namedCounts <- sapply(filtered_data, function(x) sum(is.na(x)))
namedCounts <- namedCounts[namedCounts>0]
print(paste0(names(namedCounts)," :",unname(namedCounts)))