r - 使用for循环从r中的数据框中删除特定列
问题描述
假设我有一个像这样的数据框:
>jnk1
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12
1 23207 NA 450 NA 602 NA NA NA NA 456 782 7439
2 1506 NA 1101 NA 303 NA NA NA NA 378 378 8922
3 234 NA 456 NA 507 NA NA NA NA 2384 333 6282
4 672 NA 345 NA 918 NA NA NA NA 332 322 3782
5 980 NA 295 NA 972 NA NA NA NA 2782 344 2789
6 459 NA 218 NA 810 NA NA NA NA 3278 378 2782
我想编写一个脚本,它将删除所有包含“NA”的列并返回一个包含其余列的数据框。例如,我希望输出是一个仅包含列 V1、V3、V5、V10、V11、V12 和所有行的数据框
我为它写了以下代码:
for (i in 1:ncol(jnk1)){
if (unique(is.na(jnk1[i]))==TRUE)
jnk1[i]<-NULL}
但是 R 向我显示了一个错误:
Error in `[.data.frame`(jnk2, i) : undefined columns selected
并仅删除一些带有 NA 的列。如果我再次运行该脚本,它会再次向我显示相同的错误并最终删除所有所需的列。
我在这里想念什么?
解决方案
推荐阅读
- git - Git:如何在我的项目中设置一个与远程分支相同的文件夹?
- apache-kafka - 卡夫卡不删除旧记录
- r - 如何在 R Shiny 中摆脱此错误消息“closure”不是子集的
- javascript - 类型“AppComponent”上不存在属性函数
- javascript - 在 JS 中使用过滤器获取 uniq 值
- wpf - 在 DataGridColumn、WPF 中使用按钮
- roomle - 在roomle中导入纹理
- python - 如何动态命名pyspark数据框
- python - 英特尔 Realsense 谷歌 colab
- rest - 在 nginx 中配置 REST 服务等待参数