首页 > 解决方案 > 如何根据来自另一个向量的值删除 R 中数据框中的列?

问题描述

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

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

我的向量的值为 C,E,H

我希望我的数据框有列

A,B,D,F,G,

标签: rdataframevectormultiple-columns

解决方案


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

df1[vecofnames] <- NULL

如果我们想将其子集到不同的对象,另一种选择

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

或与subset

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

或在dplyr

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

推荐阅读