我正在尝试使用存储在对象中的列名对数据框进行子集化。这可能吗?这是一个例子:
ReallyLongColNameA <- c(1,2,3,4,5,6)
ReallyLongColNameB <- c(6,5,4,3,2,1)
ReallyLongColNameC <- c(7,8,9,10,11,12)
X <- data.frame(ReallyLongColNameA, ReallyLongColNameB, ReallyLongColNameC)
我可以存储列名:
ShortColNameB <- names(X[2])
然后使用存储在对象ShortColNameB
我可以对以下内容进行分组:
subX <- X[X$ReallyLongColB == 6,]
获得:
ReallyLongColA ReallyLongColB ReallyLongColC
1 6 7
但是如果我想通过使用存储在对象(ShortColNameB
)中的列名来获得以下所需的输出呢?:
ReallyLongColA ReallyLongColB
1 6
答案 0 :(得分:0)
您可以通过对列号进行子集化来轻松删除最后一列。
X[X[[ShortColNameB]]==6,c(1,2)]
您可以通过==6
对ShortColNameB
进行过滤来定义所需的行,然后通过选择数字来定义所需的列(例如,第1列和第2列,A&amp; B)。