首页 > 解决方案 > 在 R 中删除带括号的列不起作用

问题描述

我有一个数据框:

ID    user    study    var   varb   varc   varf
101   a       b         3     4      3       4
102   b       a         4     5      5       6
103   g       a         4     4      5       6
104   b       c         6     7      7       5

我正在尝试使用索引位置删除前三列

df <- df[-c(1:3)]

我确信这种方法可以删除列。事实上,我第一次运行这条线时它确实按预期工作,但现在它所做的只是删除行而不是列。现在,我只是使用该subset()方法来删除工作正常的列。但是,我想复习一下我的R,因为我已经生锈了这么久没有写它。我以前使用的原始方法哪里出错了?

标签: r

解决方案


如果是 a data.table,我们可能需要

df[, -c(1:3), with = FALSE]

或者也许使用selectfromdplyr

library(dplyr)
df %>%
    select(-(1:3))

推荐阅读