Воспроизводимый пример
Я пытаюсь создать функцию для построения регрессий на основе подмножества данных.Мой воспроизводимый пример приведен ниже:
set.seed(1) # Reproducibility
testdat <- data.frame(x = runif(100),
y = rnorm(100),
factor = sample(c("A","B"),100,replace=T)) # Create a dummy data set
test.model <- function(input.factor = NULL){
model.out = lm(y~x,data = testdat[which(testdat$factor == input.factor),])
} # Create a function that regresses x against y, after subsetting
modelA <- test.model(input.factor = "A") # Works fine
modelB <- test.model(input.factor = "B") # Also works fine
modelAll <- test.model(input.factor = "???") # I'm seeking the keyword for all the data here
Проблема
Моя функция отлично работает для случаев, когда input.factor = "A"
или "B"
, но я хочу использовать функцию для всего набора данных.Я пытался использовать подстановочный знак *
, но, похоже, это работает только для регулярных выражений.
Мой вопрос: какую строку мне нужно ввести в input.factor =
, чтобы выбрать все значенияпеременная factor
?
PS Как статистик, я знаю, что я должен включить переменную factor
в саму регрессию.Тем не менее, мой реальный вариант использования - более сложная модель с гораздо большим количеством данных, поэтому вычисление полной модели занимает слишком много времени.