Применение регрессионной модели цензурированных данных в цикле: неверное количество измерений - PullRequest
0 голосов
/ 30 ноября 2018

Я применяю регрессионную модель для большого трибла и получаю ошибку о неверном количестве измерений.

Ошибка в 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)

Кажется странным, что я получаю сообщение об ошибкеномер измерения, когда группа, на которую я делю, зависит от длины записи, а не от числа переменных.

Извините, что не предоставил набор тестовых данных, но размер данных, вызывающих ошибку, довольно неуправляем.

Любые идеи будут приветствоваться.

...