使用for循环从r中的数据框中删除特定的列

时间:2020-10-19 09:13:25

标签: 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

并仅删除一些不适用的列。如果再次运行该脚本,它将再次显示相同的错误,并最终删除所有所需的列。

我在这里想念什么?

0 个答案:

没有答案