Ошибка: объект типа «замыкание» не может быть задан? - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь вычислить элементы матрицы, я написал элементы нормальным образом, но когда я запускаю ее, я получаю это сообщение об ошибке:

I[1,1] <- ((1/n)*sum(delta*(((1/alp)-h(x)-(M(x)/(1-W(x))))^2)))

Ошибка в I [1, 1]<- ((1 / n) * сумма (дельта * (((1 / alp) - h (x) - (M (x) / (1 -): объект типа 'замыкание' не может быть подмножеством </p>

I[2,2] <- ((1/n)*sum(delta*(((1/b)+log(A(x))-R(x)))^2))

Ошибка в I [2, 2] <- ((1 / n) * сумма (дельта * (((1 / b) + log (A (x)) - R (x))) ^ 2)): объект типа 'замыкание' не может быть подмножеством </p>

I[3,3] <- ((1/n)*sum(delta*(((1/d)-(x^gam)-T(x)+((x^gam)))/((((1-exp(-d*x^gam)))*B(x))^2))))

Ошибка в I [3, 3] <- ((1 / n) * сумма(дельта * (((1 / d) - (x ^ gam) - T (x) + ((x ^ gam))) / ((((1 -: объект типа 'замыкание' не может быть поднабором </p>

I[4,4] <- ((1/n)*sum(delta*((1/gam)+log(x)-(d*(x^gam)*log(x))*D(x)-((d*(x^gam)*log(x)*exp(-d*x^gam))/(1-exp(-d*x^gam)))*N(x))^2))

Ошибка в I [4, 4] <- ((1 / n) * сумма (дельта * ((1 / gam) + log (x) - (d * (x)^ gam) *: объект типа «замыкание» не может быть подмножеством </p>


Я не уверен, почему, поскольку я ничего не изменил в своем коде.

1 Ответ

0 голосов
/ 12 февраля 2019

I() - это функция, которая запрещает интерпретацию выражения.Тем не менее, это может быть связано со значением матрицы, но я предполагаю (учитывая отсутствие контекста), что вы присваивали свою матрицу не I, а чему-то другому:

> n = 10
> b = 20
> A = function(x) {x+1}
> R = function(x) {x*2}
> delta = 20
> x = 4
> I[1,1] <- ((1/n)*sum(delta*(((1/b)+log(A(x))-R(x)))^2))
Error in I[1, 1] <- ((1/n) * sum(delta * (((1/b) + log(A(x)) - R(x)))^2)) :
  object of type 'closure' is not subsettable
> I
function (x)
{
    structure(x, class = unique(c("AsIs", oldClass(x))))
}
<bytecode: 0x2fdae80>
<environment: namespace:base>
> I = matrix(c(1,2,3,4), nrow=2)
> I[1,1] <- ((1/n)*sum(delta*(((1/b)+log(A(x))-R(x)))^2))
> I
         [,1] [,2]
[1,] 80.40546    3
[2,]  2.00000    4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...