Добавление факторных баллов в исходный набор данных

Я запускаю факторный анализ и сгенерировал 5 факторов. Теперь я хочу добавить эти факторы в исходный набор данных для запуска регрессии, сохраняя эти факторы с помощью независимых переменных. Кто-нибудь может подсказать, пожалуйста, как это сделать? Код, который я использовал для факторного анализа, выглядит следующим образом:

result.1<-subset(result,select=c(17:27))
fa.parallel(result.1)
View(result.1)
result.2<-factanal(result.1,factors=5,rotation="promax")
print(result.2)
print(result.2, digits = 2, cutoff = .2, sort = TRUE)
colnames(result.2$loadings)<-c("Fac_1","Fac_2","Fac_3","Fac_4","Fac_5")
print(loadings(result.2), digits = 2, cutoff = .2, sort = TRUE)

Я пытался использовать cbind чтобы получить новые переменные столбцы факторов, но, к сожалению, это не сработало.

result.fac<-cbind(result,result.2)

С уважением, Ари

2 ответа

Решение

Вы должны сохранить результаты, рассчитанные на основе фактических данных и cbind те к исходному набору данных. Например:

data <- mtcars
f <- factanal(data, factors=5, rotation="promax", scores="regression")
data <- cbind(data, f$scores)

Вероятно, у вас есть некоторые пропущенные данные, что приводит к отсутствию строк в матрице факторных баллов. Вам необходимо сопоставить имена строк, например:

scores <- result.2$scores
result.fac <- cbind(result[as.integer(rownames(scores)),],scores)
Другие вопросы по тегам