psych - 将因子加载作为数据.frame 用于 LaTeX 导出
Posted
技术标签:
【中文标题】psych - 将因子加载作为数据.frame 用于 LaTeX 导出【英文标题】:psych - Getting factor loadings as data.frame for LaTeX export 【发布时间】:2013-03-13 05:25:45 【问题描述】:我正在使用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)
谁能告诉我someMagicalFunction
可以用什么?
【问题讨论】:
fac <- fa(r=cor(bfi), nfactors=5, fm="ml", rotate="none")
给了我很多错误信息(例如,Something is seriously wrong the correlation matrix.
)并且没有产生任何东西。
@Henrik 道歉,现在应该修复。需要将use="complete.obs"
添加到cor
。
其实就说fa(bfi,nfactors=5, fm="ml",rotate="none")。这将找到成对相关矩阵,而无需您自己做。从 1.3.10.11 版本开始,如果要指定 use="complete",fa 将采用 use 参数。
【参考方案1】:
当您查看fac$loading
时,您会看到它是一个 S3 对象。删除类属性会给你一个matrix
,然后可以传递给xtable
:
str(fac$loadings)
class(fac$loadings)
xtable(unclass(fac$loadings))
【讨论】:
此命令用于获取实际载荷矩阵,但是如何捕获 print.loadings() 命令的下半部分,它给出了 SS 载荷以及比例和累积方差? 请指定您从哪个包中调用xtable()
。
@sunitprasad1 library xtable
如问题中所述。【参考方案2】:
效果很好。
另一种方法是在 psych 中使用 fa2latex 函数:
用你的例子:
library(psych)
fac <- fa(bfi,5)
fa2latex(fac)
会给你一个 APA 就绪的 LaTeX 表格。
比尔
【讨论】:
【参考方案3】:xtable 的结果是 html 语言。 如果要保存为文件,可以使用:
print.xtable(x, type="HTML", file="table.html")
【讨论】:
以上是关于psych - 将因子加载作为数据.frame 用于 LaTeX 导出的主要内容,如果未能解决你的问题,请参考以下文章