Я отправляю этот вопрос, который ссылается на статистическую проблему, однако проблема у меня есть с кодом.Использовать длину и целое число (0) для проверки условного выражения
У меня есть расчет вектора и автокорреляции ниже, для значений доверительных интервалов 95%. (Существует только одно значащее значение при t + 1) Package Quantmod.
x<-c(1,1,3,8,5,2,4,3,1,1,0,5,1,1,3,4,6,7,8,9,4,2,1)
a<-acf(x)
b<-a[[1]]
c<-(b[2:length(b)])
posssignificance_level<-qnorm((1+0.95)/2)/sqrt(sum(!is.na(x)))
posssignificance_level
negsignificance_level<- -posssignificance_level
negsignificance_level
poscorr<-which(posssignificance_level<c)
negcorr<-which(negsignificance_level>c)
poscorr
negcorr
Я хотел бы проинструктировать отставать, если есть любое существенное значение выше/ниже 95% доверительного интервала либо в poscorr или negcorr или обоих. Я попытался использовать нижеприведенные выражения без успеха. (Я использую длину (poscorr == 0 и length (negcorr == 0), так как длина результирующего вектора равна 0, когда автокорреляция отсутствует. Результат для negcorr равен «целое число (0)»).
posautorrelation <- if(length(poscorr==0)) Lag(x,0) else Lag(x,poscorr)
negautorrelation <- if(length(negcorr==0)) Lag(x,0) else Lag(x,negcorr)
Error en `colnames<-`(`*tmp*`, value = "Lag.") :
la longitud de 'dimnames' [2] no es igual a la extensión del arreglo
Error durante el wrapup: no se puede abrir la conexión
Я также пытаюсь
posautorrelation <- if((poscorr==integer(0)) Lag(x,0) else Lag(x,poscorr)
Error: inesperado símbolo in "posautorrelation <- if(length(poscorr==integer(0)) Lag"
Error durante el wrapup: no se puede abrir la conexión
negautorrelation <- if((negcorr==integer(0)) Lag(x,0) else Lag(x,negcorr)
Error: inesperado símbolo in "negautorrelation <- if(length(negcorr==integer(0)) Lag"
Error durante el wrapup: no se puede abrir la conexión
Я хотел бы знать, как я мог бы проинструктировать последние два выражения, чтобы получить две версии х. один с отставанием и один без какого-либо значения автокорреляционной с 0 лаг с использованием результат negcorr integer (0).
'length' может (по некоторым проблемам) вернуться в два раза. Следовательно, было бы лучше сделать 'if (isTRUE (all.equal (length (poscorr), 0)))' для учета случаев, когда они используются на длинном векторе. –
благодарит за решение и добавил комментарий – Barnaby