在 R 中 - 如何删除 data.frame 中的特定列?
in R - How can I remove specific columns in data.frame?
在此 data.frame 中:
我想删除一些 "Total" == 0
的列
我在这里查看了一些关于我的问题的问题,我找到了
但我不能完全适用于我的情况。
假设“x”列中的“总计”表示最后一行(我没有理由不这么认为),我们对最后一行进行子集化(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))
在此 data.frame 中:
我想删除一些 "Total" == 0
我在这里查看了一些关于我的问题的问题,我找到了
但我不能完全适用于我的情况。
假设“x”列中的“总计”表示最后一行(我没有理由不这么认为),我们对最后一行进行子集化(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))