我正在尝试使用存储在对象中的列名来设置数据框的子集。这个是可能的吗?下面是一个示例:
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])
然后使用存储在object ShortColNameB
中的列名创建子集
我可以对以下内容进行子集:
subX <- X[X$ReallyLongColB == 6,]
要获得以下信息:
ReallyLongColA ReallyLongColB ReallyLongColC
1 6 7
但是,如果我希望通过使用存储在对象(ShortColNameB
)中的列名来获得所需的输出,该怎么办呢?
ReallyLongColA ReallyLongColB
1 6
发布于 2017-03-01 07:44:55
您可以通过对列号进行子集来轻松删除最后一列。
X[X[[ShortColNameB]]==6,c(1,2)]
您可以通过过滤ShortColNameB
的==6
来定义所需的行,并通过选择数字来定义所需的列(例如,第1列和第2列、A和B)。
https://stackoverflow.com/questions/42523846
复制