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

R函数定义报'unexpected symbol'错误,请求排查代码问题

R函数报错"unexpected symbol"的原因及修复

问题出在你写的单行代码里,计算均值的表达式和return(mm)之间没有添加分隔符,导致R解析器把length(x[is.finite(x)])和return当成了一个连在一起的非法符号,所以才会抛出"unexpected symbol"错误。

R要求同一行里的多个语句必须用分号;分隔,或者把每个语句拆成单独一行,这样解析器才能正确识别每个独立的操作。

修正后的代码有两种写法:

  • 加菲号分隔语句:
mymean<-function(x){mm<-sum(x[is.finite(x)])/length(x[is.finite(x)]);return(mm)}
  • 拆分成多行(更易读,推荐用这种):
mymean<-function(x){
  mm<-sum(x[is.finite(x)])/length(x[is.finite(x)])
  return(mm)
}

额外提一句:R函数里默认会返回最后一个表达式的结果,所以你也可以省去return语句,简化成:

mymean<-function(x){
  sum(x[is.finite(x)])/length(x[is.finite(x)])
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 04:02:42