我有一个很大的数据集,其中包含很多NA
s 和一些非 Na 值。
此刻我数着我的非NA
每列的值如下所示:
attach(df)
1000 - (sum(is.na(X1)))
1000 - (sum(is.na(X2)))
1000 - (sum(is.na(X3)))
1000 - (sum(is.na(X4)))
1000 - (sum(is.na(X5)))
...
detach(df)
所以我的观察的总长度 - 我的观察的总和NA
values.
有没有一种更快的方法,可以使用更少的代码行和打字工作,并让我快速概览所有列和非非列的数量NA
values?
比如for循环之类的?
我正在寻找这样的东西:
X1 Amount of Non-Na-Values
X2 ...
X3 ...
X4
X5
X6
谢谢 :)
您也可以致电is.na
在整个数据帧上(隐式强制到逻辑矩阵)并调用colSums
关于反向响应:
# make sample data
set.seed(47)
df <- as.data.frame(matrix(sample(c(0:1, NA), 100*5, TRUE), 100))
str(df)
#> 'data.frame': 100 obs. of 5 variables:
#> $ V1: int NA 1 NA NA 1 NA 1 1 1 NA ...
#> $ V2: int NA NA NA 1 NA 1 0 1 0 NA ...
#> $ V3: int 1 1 0 1 1 NA NA 1 NA NA ...
#> $ V4: int NA 0 NA 0 0 NA 1 1 NA NA ...
#> $ V5: int NA NA NA 0 0 0 0 0 NA NA ...
colSums(!is.na(df))
#> V1 V2 V3 V4 V5
#> 69 55 62 60 70
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)