R:子集:使用除一列之外的整个数据帧
我想从数据帧上的操作中排除一个列。当然,我可以只复制数据帧,而不复制我想要排除的列,但这似乎是一种解决方法。我想一定有更简单的方法来解决这个问题 所以这个示例代码应该显示我在做什么R:子集:使用除一列之外的整个数据帧,r,subset,R,Subset,我想从数据帧上的操作中排除一个列。当然,我可以只复制数据帧,而不复制我想要排除的列,但这似乎是一种解决方法。我想一定有更简单的方法来解决这个问题 所以这个示例代码应该显示我在做什么 df<-data.frame(a=c(1:5),b=c(6:10),c=c(11:15)) # First subset: operate on a single column mean(df[,1]) [1] 3 # Second subset: with a set of choosen columns c
df<-data.frame(a=c(1:5),b=c(6:10),c=c(11:15))
# First subset: operate on a single column
mean(df[,1])
[1] 3
# Second subset: with a set of choosen columns
colMeans(df[,c(1,3)])
a c
3 13
# third subset: exclude column b from the operation (expected Output should be like the second subset)
colMeans(df[,!=2])
Error: unexpected '!=' in "colMeans(df[,!="
df试试看
另一种方法是%
中的%操作符(如果您想使用几个不同的命名列,这很方便):
> colMeans(df[,-2])
a c
3 13
colMeans(df[, -2])
## a c
## 3 13
colMeans( df[ , ! colnames(df) %in% c("b") ])
#a c
#3 13