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

使用dplyr计算数据框多列标准差报错,求解决方案

解决summarise_if计算标准差报错的问题

问题出在你把结果变量命名为sd,这直接覆盖了R原生的sd()函数。当你在summarise_if里写sd时,R会优先识别成你刚定义的变量,而不是计算标准差的函数,因此触发错误。

修正方法有两种:

  • 更换结果变量名,避免和函数名冲突:
median <- df_grouped_by %>% summarise_if(is.numeric, median)
sd_results <- df_grouped_by %>% summarise_if(is.numeric, sd)
  • 用反引号包裹sd,明确指定调用原生标准差函数:
sd <- df_grouped_by %>% summarise_if(is.numeric, `sd`)

另外,dplyr目前更推荐使用summarise(across(...))替代旧的summarise_if语法,写法更清晰:

sd_results <- df_grouped_by %>% summarise(across(where(is.numeric), sd))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 15:12:48