定义一个定义函数时出错,该函数的输入是文件并且具有nls适合:“错误:没有函数要返回,而是跳转到顶层”

时间:2019-05-14 04:59:33

标签: r user-defined-functions nls

我正在尝试将一组数据拟合到错误函数。我成功使用了以下代码:

erf <- function(x) 2 * pnorm(x * sqrt(2)) - 1
data <- read.csv("z0.csv")
x<-data[,1]
y<-data[,2]
y<-y-min(y)
y<-y/max(y)
x<-x[which.max(y):which.min(y)]
x<-(x-min(x))/7200
y<-y[which.max(y):which.min(y)]
m<-nls(y~a/2*(1-erf((sqrt(2)*(x-b))/c)),start=list(a=1,b=0,c=0.001))
r<-summary(m)$coefficients[3,1]
dr<-summary(m)$coefficients[3,2]

之间的步骤是为了使我的数据规范化,以使y的最大值为1,而最小值为0;使用某些数据进行拟合;并进行x值转换。

由于必须对许多文件执行相同的步骤,因此我执行了以下功能:

radius <- function(file) {
  data <- read.csv(file = paste0(file, ".csv")
  x<-data[,1]
  y<-data[,2]
  y<-y-min(y)
  y<-y/max(y)
  x<-x[which.max(y):which.min(y)]
  x<-(x-min(x))/7200
  y<-y[which.max(y):which.min(y)]
  m<-nls(y~a/2*(1-erf((sqrt(2)*(x-b))/c)),start=list(a=1,b=0,c=0.001))
  c<-summary(m)$coefficients[3,1]
  return(c)
}

但是出现以下错误: 错误:出现意外符号:

  • 错误:出现意外符号: “数据<-read.csv(file = paste0(file,” .csv“) x“

  • nls(y〜a / 2 *(1-erf((sqrt(2)*(x-b))/ c))中的错误,开始= list(a = 1,:迭代次数超过最大50

  • 错误:没有函数要返回,跳到顶层

  • 错误:“}”中出现意外的'}'

我在做什么错了?

0 个答案:

没有答案