Обход ошибки в существующем цикле для включения функции масштаба и поли в R для выбора модели - PullRequest
0 голосов
/ 10 октября 2019

Я хочу создать цикл в R для выбора модели, чтобы протестировать масштабированные одномерные и полиномиальные предикторы. Мой фрейм данных - 100 x 318, и вместо того, чтобы проходить каждый тест по отдельности (300 различных тестов), цикл сделает все гораздо более эффективным, но с ошибкой.

Я обнаружил следующий онлайн-цикл, который отлично работает для одномерного выбора и, кажется, работает с функциями scale () и poly (), но сталкивается с проблемой переполнения чисел в результате использования функции полинома. Я ни в коем случае не кодер и могу использовать руку, обходя эту ошибку.

var.list = names(data)[1:100]

model = lapply(var.list, function(x) {
    glm(substitute(y ~ scale(poly(i,2)), list(i = as.name(x))), data = data)})
sum = lapply(model, summary)

Я получаю этот код ошибки, который, как я понимаю, относится к числовому переполнению ( Почему `poly` жалуется наградус меньше количества уникальных очков? ).

Error in poly(i, 2) : 
    'degree' must be less than number of unique points 

Однако, для моей цели, это только говорит мне, что этот конкретный ортогональный полиномиальный предиктор не важен для моего окончательного построения / выбора модели и хотел бы обойти эту ошибку. Любая помощь приветствуется. Спасибо.

...