psych - Получение факторных нагрузок в виде data.frame для экспорта в LaTeX

Я использую команду fa пакета psych для факторного анализа, поэтому у меня есть объект класса fa. Я могу запросить загрузки с помощью fac$loadings, но я хочу извлечь только таблицу, содержащую загрузки, поэтому я могу использовать xtable (или аналогичный) для преобразования ее в формат LaTeX.

Пример кода:

library(psych)
library(xtable)
data(bfi)
fac <- fa(r=cor(bfi, use="complete.obs"), nfactors=5, fm="ml", rotate="none")
fac$loadings
ld <- someMagicalFunction(fac$loadings)
xtable(ld)

Может ли кто-нибудь сказать мне, что я могу использовать для someMagicalFunction?


person bountiful    schedule 23.03.2013    source источник
comment
fac <- fa(r=cor(bfi), nfactors=5, fm="ml", rotate="none") выдает много сообщений об ошибках (например, Something is seriously wrong the correlation matrix.) и ничего не производит.   -  person Henrik    schedule 23.03.2013
comment
@Henrik извинения, это должно быть исправлено сейчас. Нужно добавить use="complete.obs" к cor.   -  person bountiful    schedule 23.03.2013
comment
На самом деле, просто скажите fa(bfi,nfactors=5, fm=ml,rotate=none). Это позволит найти матрицу парной корреляции без необходимости делать это самостоятельно. Начиная с версии 1.3.10.11, fa будет использовать параметр использования, если вы хотите указать use=complete.   -  person William Revelle    schedule 13.10.2013


Ответы (3)


Когда вы посмотрите на fac$loading, вы увидите, что это объект S3. Удаление атрибута класса дает вам matrix, который затем можно передать в xtable:

str(fac$loadings)
class(fac$loadings)

xtable(unclass(fac$loadings))
person Henrik    schedule 23.03.2013
comment
Эта команда работает, чтобы получить фактическую матрицу нагрузок, но как вы можете получить нижнюю половину команды print.loadings(), которая дает нагрузки SS, а также пропорцию и совокупную дисперсию? - person emudrak; 10.04.2017
comment
Пожалуйста, укажите пакет, из которого вы звоните xtable(). - person sunitprasad1; 11.02.2018
comment
библиотека @sunitprasad1 xtable, как указано в вопросе. - person Henrik; 11.02.2018

Это прекрасно работает.

Альтернативой является использование функции fa2latex в psych:

Используя ваш пример:

library(psych)
fac <- fa(bfi,5)
fa2latex(fac)

даст вам таблицу LaTeX, готовую к APA.

Счет

person William Revelle    schedule 09.06.2013

Результат xtable на языке HTML. Если вы хотите сохранить его как файл, вы можете использовать:

print.xtable(x, type="HTML", file="table.html")
person Adrien Wittmann    schedule 11.10.2019