Возможно, здесь упущено что-то базовое.
У меня есть XY
данные, к которым я хочу вписать lm
в R:
set.seed(1)
df <- data.frame(x = c("0h","0h","4h","4h","8h","8h","10h","10h"),
y = rnorm(8))
Установка lm
является частьюфункции, которая получает на вход df
, а также тип contrast
, который должен быть установлен.contrast
читается как пользовательский ввод и, следовательно, является character
.
Например:
my.contrast <- "contr.helmert(4)"
Затем я хочу сравнить это с model.matrix
, с которымтогда будет установлен lm
.
Я пытаюсь:
contrast.list <- list(x = my.contrast)
design.mat <- model.matrix(y ~ x, data = df, contrasts.arg = contrast.list)
Но, очевидно, получаю ошибку:
Error in get(ctr, mode = "function", envir = parent.frame()) :
object 'contr.helmert(4)' of mode 'function' was not found
Однако, это не ясномне какой тип я должен преобразовать my.contrast
в model.matrix
для работы.
Очевидно,
model.matrix(y ~ x, data = df, contrasts.arg = list(x = contr.helmert(4)))
Работает нормально