如何根据另一个向量的值删除 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)
我有一个向量中的值列表,我想用它来删除在数据框中找到的列。
例如,如果我的数据框有 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)