Это упрощенная версия моей текущей проблемы. Мне нужно создать model.matrix из двух матриц моделей, не теряя информации в «назначении». Например, рассмотрим данные и формулу
y<-rnorm(100); x1<-rnorm(100); x2<-rnorm(100); x3<-rnorm(100)
f1 <- y ~ x1 + x2 + x3
и 2 матрицы моделей X1
и X2
, созданные с использованием
trms<-terms.formula(f1)
trms2<-drop.terms(trms, dropx = 2)
trms3<-drop.terms(trms, dropx = -2)
X1<-model.matrix(trms2)
X2<-model.matrix(trms3)
Есть ли простой способ создать из X1
и X2
матрицу X
с 1 столбцом пересечения и с attr(,"assign")
, которая была бы получена из f1
?
x1
может быть матрицей,x2
гладкой конструкцией (из mgcv: s(x2,k=10)) иx3
другой матрицей. Поэтому я хотел отбросить термины, чтобы обрабатывать их по-разному, в зависимости от того, что они из себя представляют, а затем объединить их. - person papgeo   schedule 25.08.2018