首页 > 解决方案 > 在 R 中定义具有 2 个变量的函数时出现意外的“{”

问题描述

我正在尝试定义 Cohen 的 D 函数,但出现以下错误:

Error in parse(text = x, srcfile = src): <text>:1:20: unexpected '{'
1: cohens_d <- f(x, y){
                       ^

我写的代码是:

cohens_d <- f(x, y){
    lx <- length(x)-1
    ly <- length(y)-1
    md <- (mean(x)-mean(y))
    sigma <- sqrt((lx * var(x)+ ly * var(y))/(lx + ly))
    cd <- md/sigma
    return(cd)
}

即使使用像这里这样的简单功能,我也会遇到类似的错误:

add <- f(x, y) {
    return(x+y)
}

标签: rfunction

解决方案


你有“f”而不是“function”,试试:

cohens_d <- function(x, y){
  lx <- length(x)-1
  ly <- length(y)-1
  md <- (mean(x)-mean(y))
  sigma <- sqrt((lx * var(x)+ ly * var(y))/(lx + ly))
  cd <- md/sigma
  return(cd)
}

推荐阅读