0

これはバグなのかしら。

私は次のコードを持っています:

h2 <- hist(c(rep(65, times=5), rep(25, times=5), rep(35, times=10), rep(45, times=4)))
model2 = nls(formula = log(counts[1:5]) ~a+log(mids[1:5])*gamma, start=list(gamma=-3,a=10),data=h2)

エラーで壊れます:

Error in parse(text = x) : <text>:2:0: unexpected end of input
1: ~
  ^

しかし、私がそうする場合:

h2 <- hist(c(rep(65, times=5), rep(25, times=5), rep(35, times=10), rep(45, times=4)))
model2 = nls(formula = log(counts[1:5]) ~a+log(breaks[1:5])*gamma, start=list(gamma=-3,a=10),data=h2)

エラーは発生しません(この特定のデータには適合できませんが、実際に持っているデータには適合できます)。

問題は、私が行っている作業では、休憩ではなく、ヒストグラム間隔の中央が必要なことです。

編集:エラー後、トレースバックは次のとおりです。

7: parse(text = x)
6: eval(parse(text = x)[[1L]])
5: formula(eval(parse(text = x)[[1L]]))
4: formula.character(object, env = baseenv())
3: formula(object, env = baseenv())
2: as.formula(paste("~", paste(varNames[varIndex], collapse = "+")), 
       env = environment(formula))
1: nls(formula = log(counts[1:5]) ~ a + log(mids[1:5]) * gamma, 
       start = list(gamma = -3, a = 10), data = h2)
4

1 に答える 1

2

私が疑ったように:

d <- data.frame(counts = h2$counts[1:5],mids = h2$mids[1:5])
model2 = nls(formula = log(counts) ~a+log(mids)*gamma, start=list(gamma=-3,a=10),data=d)

数式解析エラーなしで実行されます (ただし、もちろん、この小さな不適切な形式のデータ セットには適合しません)。

于 2013-01-16T19:36:55.333 に答える