读取最后一行并根据R中的条件删除该列

时间:2015-05-15 02:11:58

标签: r

我的数据框如下所示:

   Var1   var2
1   1       11
2   2       NA
3   NA      NA
4   4       14
5   NA      NA
6   6       16
7   7       17
8   8       NA
9   9       19
10  10      NA
11   1       0

我需要读取数据框的最后一行(任意),如果它是“TRUE”,我需要保留该列,如果它是“假”'我需要删除该特定列并将输出存储在新数据框中

对于上面的例子,结果应该是:

   Var1
1   1
2   2
3   NA
4   4
5   NA
6   6
7   7
8   8
9   9
10  10

删除了2ND列,因为最后一行显示的是' 0'。

1 个答案:

答案 0 :(得分:2)

尝试使用as.logical

> mydf[as.logical(mydf[nrow(mydf), ])]
   Var1
1     1
2     2
3    NA
4     4
5    NA
6     6
7     7
8     8
9     9
10   10
11    1

mydf[, as.logical(mydf[nrow(mydf), ]), drop = FALSE]如果您希望相同的代码也与矩阵兼容。