Cómo pasar una lista de nombres de variables juntas a una función
Estoy tratando de construir una regresión lineal con cientos de términos de interacción. Ahora los estoy escribiendo manualmente en la ecuación.
model <- lm(Y ~ A + B + C + A*X1 + A*X2 + A*X3+...+A*X100 + B*X1 + B*X2 + B*X3...+B*X100, data)
¿Existe alguna forma de codificar esto de manera más eficiente? Estoy pensando en algo como:
Group <- X1 + X2 + X3+ ... + X99 + X100
model <- lm(Y~ A + B + C + A*Group + B*Group)
¿Es posible lograr esto en R con algún paquete o función?
davy.ai
Sí, es posible codificar esto de manera más eficiente en R utilizando la notación
.
para representar todas las variables restantes en el conjunto de datos. Aquí hay un ejemplo:Este código incluirá todas las variables restantes en el conjunto de datos (excluyendo Y, A, B y C) en el modelo. Alternativamente, puedes utilizar la notación
:
para representar las interacciones entre predictores, de la siguiente manera:Este código creará interacciones entre todas las combinaciones de A, B y C con todas las combinaciones de X1 a X100. Ambos enfoques son más eficientes y menos propensos a errores que escribir manualmente todos los términos de interacción.