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

R语言airDF列索引写法区别及“No columns were selected”报错解析

R代码报错原因及两段代码差异分析

报错原因定位

报错是因为第一段代码的数据框索引语法错误:
R中数据框[行筛选条件, 列筛选条件]的第二个参数,仅支持传入列名字符串、列位置数值、列匹配逻辑向量三种合法值,用来定位要提取的列。
但第一段代码中:

  1. airDF[is_vacation, airDF$ArrDelay]的第二个参数是airDF$ArrDelay,返回的是ArrDelay列的所有观测值(数值向量),不属于合法的列索引格式
  2. airDF[is_vacation, airDF$FromTo]的第二个参数是airDF$FromTo,返回的是FromTo列的所有观测值(字符/因子向量),同样不属于合法的列索引格式
    这些观测值的数值远大于数据框的总列数,匹配不到任何存在的列,所以直接抛出未选中任何列的错误。

报错原文:Error in [.data.frame(airDF, is_vacation, airDF$FromTo) : no columns were selected.

两段代码核心差异

  • 索引逻辑不同:第一段错误传入列观测值作为列索引,完全不符合R的data.frame索引规则;第二段传入'ArrDelay'、'FromTo'列名字符串,是合法的列索引写法,可以正确筛选出is_vacation为TRUE的行对应的指定列数据。
  • 运行效果不同:第一段直接触发语法报错终止运行;第二段可以正常执行,输出假期期间不同出发到达路线的平均到达延误时长。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 03:27:05