psych-获取因子加载作为LaTeX导出的data.frame

psych-获取因子加载作为LaTeX导出的data.frame,r,latex,psych,factor-analysis,R,Latex,Psych,Factor Analysis,我正在使用psych包的fa命令进行因子分析,因此有一个类为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 <

我正在使用
psych
包的
fa
命令进行因子分析,因此有一个类为
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)
图书馆(心理学)
图书馆(xtable)
数据(bfi)

fac当您查看
fac$loading
时,您会看到它是一个S3对象。删除class属性会得到一个
矩阵
,然后可以将该矩阵传递到
xtable

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

xtable(unclass(fac$loadings))
那很好

另一种方法是在psych中使用fa2latex函数:

以您的例子:

library(psych)
fac <- fa(bfi,5)
fa2latex(fac)
图书馆(心理学)

facxtable的结果是HTML语言。 如果要将其另存为文件,可以使用:

print.xtable(x, type="HTML", file="table.html")

fac@Henrik道歉,现在应该修复。需要将
use=“complete.obs”
添加到
cor
。实际上,只需说fa(bfi,nfactors=5,fm=“ml”,rotate=“none”)。这将找到两两相关矩阵,而不需要自己去做。从版本1.3.10.11开始,如果您想指定use=“complete”,fa将采用use参数。此命令用于获取实际加载矩阵,但如何捕获print.loadings()命令的下半部分,哪个给出了SS装载量、比例和累计方差?请指定您从中调用
xtable()
的包。@sunitprasad1 library
xtable
,如问题中所述。