我有一个包含大量colums的表,我想删除超过500个缺失值的列.
我已经知道每列缺失值的数量:
library(fields)
t(stats(mm))
Run Code Online (Sandbox Code Playgroud)
我有 :
N mean Std.Dev. min Q1 median Q3 max missing values
V1 1600 8.67 … 400
Run Code Online (Sandbox Code Playgroud)
有些列显示所有特征的NA:
N mean Std.Dev. min Q1 median Q3 max missing values
V50 NA NA NA NA NA NA
Run Code Online (Sandbox Code Playgroud)
我也想删除这些列.
如果您存储统计信息的结果,请执行以下操作:
tmpres<-t(stats(mm))
Run Code Online (Sandbox Code Playgroud)
你可以这样做:
whichcolsneedtogo<-apply(tmpres, 1, function(currow){all(is.na(currow)) || (currow["missing values"] > 500)})
Run Code Online (Sandbox Code Playgroud)
最后:
mmclean<-mm[!whichcolsneedtogo]
Run Code Online (Sandbox Code Playgroud)
当然这是未经测试的,因为您没有提供数据来重现您的示例.
| 归档时间: |
|
| 查看次数: |
13093 次 |
| 最近记录: |