You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言删除数据框列报错invalid argument to unary operator 求解决方案

解决R中删除数据框指定列的报错问题

你遇到的invalid argument to unary operator错误,是因为subset()函数的select参数不支持-c("列名")这种直接对字符向量取负的语法。以下是几种可行的替代方案:

方案1:通过列索引删除

直接指定要删除的列的位置(第1列和第3列):

# 基础R原生写法
df <- df[, -c(1, 3)]

# 或结合subset函数使用索引
df <- subset(df, select = -c(1, 3))

方案2:在subset中通过列名匹配排除

如果想保留列名的操作方式,用%in%和!筛选需要保留的列:

df <- subset(df, select = !names(df) %in% c("01.2020", "03.2020"))

方案3:使用dplyr包的select函数(语法更直观)

如果你习惯tidyverse风格,安装并加载dplyr后可以这样写:

library(dplyr)
df <- df %>% select(-c("01.2020", "03.2020"))

内容的提问来源于stack exchange,提问作者Bella_18

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 03:25:23