如何根据另一个向量的值删除 R 中数据框中的列?

How to remove columns in a dataframe in R based on the values from another vector?

我有一个向量中的值列表,我想用它来删除在数据框中找到的列。

例如,如果我的数据框有 A、B、C、D、E、F、G、H 列

我的矢量的值为 C、E、H

我希望我的数据框有列

A,B,D,F,G,

有不同的选择。如果我们想从原始数据集中删除,分配给 NULL 很快

df1[vecofnames] <- NULL

另一种选择,如果我们想将它子集化为不同的对象

df2 <- df1[setdiff(names(df1), vecofnames)]

subset

df2 <- subset(df1, select = -vecofnames)

或在dplyr

library(dplyr)
df2 <- df1 %>%
         select(-vecofnames)