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 &lt;- 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 导出的主要内容,如果未能解决你的问题,请参考以下文章

将两列强制转换为 R 中的 1 列因子和 1 列对应值用于数据框

unigui数据库连接池

一个因子的 addNA 之后的子集数据帧

重新排序数据框中的因子水平[重复]

R:data.frame 中的 ne-name 因子值

ListMapset的加载因子,默认初始容量和扩容增量