在R中 - 如何删除data.frame中的特定列?

时间:2016-03-22 15:17:40

标签: r if-statement subset

在此data.frame中:

enter image description here

我想删除一些"Total" == 0

的列

我在这里回顾了一些关于我的问题的问题,我找到了它

R: how to remove certain rows in data.frame

但我不能完全适用于我的情况。

1 个答案:

答案 0 :(得分:0)

假设“x”列中的“Total”表示最后一行(我没有理由不这么认为),我们将最后一行(nrow(df1))子集化并删除第一列(因为它是非数字),检查是否不等于0.我们得到一个逻辑vector。与c连接(TRUE),这样我们也可以得到第一列,即子集数据集中的“x”。

df1[c(TRUE,df1[nrow(df1),-1]!=0)]
#      x v2 v3
#1     a  1  0
#2     b  3  1
#3 Total  4  1

数据

df1 <- data.frame(x= c('a', 'b', 'Total'),
     v1= c(0,0,0), v2= c(1,3,4), v3=c(0, 1,1))