Я применяю регрессионную модель для большого трибла и получаю ошибку о неверном количестве измерений.
Ошибка в y [, ny]: неверное количество измерений
Я успешно запустил модель на всем наборе данных с:
res <- survreg(Surv(left_clarity, right_clarity, type = 'interval2') ~ y + m + flow, data = tb_cens, dist = 'gaussian')
Однако это не удается, когдаЯ пытаюсь разбить анализ на группы в полном наборе данных.Я попробовал цикл, глупый и вложенный.Все выдают одну и ту же ошибку, поэтому, что бы ни было не так, по крайней мере, это соответствует.
Синтаксис цикла, который я использую:
for (i in seq_along(stream_list[])) {
id <- tb_cens$sys_loc_code == stream_list[i]
model <- survreg(Surv(left_clarity[i], right_clarity[i], type = 'interval2') ~ y[i] + m[i] + flow[i], data = tb_cens, dist = 'gaussian')
rep = 'a', correct = TRUE)
pvalue[i] <- summary(model) ; 1 - pchisq(s$chi, (s$df-s$idf))
slope[i] <- model$coefficients[2]
}
Подход, который я попробовал, заключается в следующем:
list_of_streams_df <- split(tb_cens, tb_cens$sys_loc_code)
result1 <- lapply(list_of_streams_df, function(tb_cens) survreg(Surv(left_clarity, right_clarity, type = 'interval2') ~ y + m + flow, tb_cens, dist = 'gaussian')
result2 <- lapply(result, summary)
Кажется странным, что я получаю сообщение об ошибкеномер измерения, когда группа, на которую я делю, зависит от длины записи, а не от числа переменных.
Извините, что не предоставил набор тестовых данных, но размер данных, вызывающих ошибку, довольно неуправляем.
Любые идеи будут приветствоваться.