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

R计算数据框变量均值时出现argument is not numeric or logical报错如何解决

问题原因

dplyr::select() 函数返回的是单列数据框对象,而 mean() 仅支持接收数值向量/逻辑向量作为输入,因此触发类型不匹配报错。

解决方法

你可以任选以下任意一种方案修改代码:

  • 用 pull() 代替 select() 直接提取列生成向量:
x <- all_trips_cleaned %>% 
  pull(ride_length)
mean_ride_length <- mean(x)
  • 对已提取的单列数据框,手动提取列后计算均值:
x <- all_trips_cleaned %>% 
  select(ride_length)
# 用$提取对应列的向量再计算
mean_ride_length <- mean(x$ride_length)
  • 直接在管道链中完成计算,无需单独赋值中间变量:
mean_ride_length <- all_trips_cleaned %>% 
  pull(ride_length) %>% 
  mean()

如果调整后仍有报错,可以先运行 class(all_trips_cleaned$ride_length) 确认该列的类型确实为数值型即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 07:27:02