Я очень новый пользователь R. Я учу себя использовать его, но я все еще совершаю много ошибок: (
Я пытаюсь запустить этот код, но у меня есть ошибка в функции Y_dina. Я надеюсь, что кто-то может объяснить, что это за ошибка и как чтобы исправить это.
Y_dina <- function(Alpha,q_m,s,g){
for(i in 1:N)
{
j_index = sample(50,1:J,replace=FALSE)
for(j in 1:length(j_index))
{
s=runif(J,0.05, 0.25)
g=runif(J,0.05, 0.25)
u <- runif(1)
eta = prod(Alpha[i,]^q_m[j_index[j,]])
return(as.numeric((u>s[j])^eta*((u<g[j]))^(1-eta)))
}
}
}
Я уже определяю альфа-матрицу и матрицу q_m, каждый раз, когда я запускаю код, у меня появляется одна и та же ошибка: Ошибка в альфе [i,]: неверное число измерений. Хотя альфа следующим образом:
K=4
N=10000
J=200
Alpha = rep(0,K)
for(j in 1:K){
temp_m = combn(1:K,m=j)
temp_mat = matrix(0,ncol(temp_m),K)
for(j in 1:ncol(temp_m)) temp_mat[j,temp_m[,j]] = 1
Alpha = rbind(Alpha,temp_mat)
}
Alpha = as.matrix(Alpha)
и
q_m = matrix(rep(diag(K),2),K,K,byrow=TRUE)
for(i in 2:K)
{
temp_m = combn(1:K,m=i)
temp_mat = matrix(0,ncol(temp_m),K)
for(j in 1:ncol(temp_m)) temp_mat[j,temp_m[,j]] = 1
q_m = rbind(q_m,temp_mat)
}
Я ценю любую помощь.