【发布时间】:2019-01-22 22:37:27
【问题描述】:
我是 R 的新手,有一个关于 poLCA 的问题。当你运行一个潜在的类时 在 poLCA 中进行分析,它会为每个受访者生成一个值 “属于”每个潜在类别的后验概率。这些被存储 作为元素“后验”中的矩阵。
我想创建一个数据框,其中包含每个受访者的独特之处 ID 号(作为变量存储在用于 poLCA 的数据帧中) 以及它们从“后验”矩阵中匹配的后验概率。我 然后想将此数据帧写入 csv 文件以在另一个文件中使用 程序。
我知道这是可能的,但我似乎无法做到这一点(怪我 R)的无能。非常感谢任何帮助。
最好的祝愿。 罗伯特·德弗里斯
编辑 - 示例
#Loading the poLCA package
library(poLCA)
#The ID variable
serial <-sample(1:1000,100,replace=F)
#The variables used in the latent class model
V1 <- sample(1:2,100,replace=T)
V2 <- sample(1:2,100,replace=T)
V3 <- sample(1:2,100,replace=T)
V4 <- sample(1:2,100,replace=T)
#the data given to the lca
lcadata <- data.frame(serial,V1,V2,V3,V4)
#the lca formula
f <- cbind(V1,V2,V3,V4) ~1
#A 2 class LCA model in poLCA
lca2 <- poLCA(f,lcadata,nclass=3,maxiter=5000,nrep=10)
【问题讨论】:
-
您能否提供您的数据的 sn-p 或玩具数据集,我们可以在其上运行
poLCA()来帮助回答您的问题?这应该很简单,但是如果没有可重复的示例,很难做到完全正确。 -
欢迎来到 SO 并感谢您提出问题。请包括您尝试过的代码以及您收到的错误消息。一个MVCE 将是一个很好的方式来做到这一点,有一个问题that demonstrates how。
-
我觉得问题只是对象子集的问题,这是函数调用的结果。您能否提供一个reproducible example 并帮助我们为您提供帮助?
-
感谢您的及时回复。我添加了我正在使用的代码示例。此代码将在 100 个假设观察值上运行 2 类 LCA 模型。它将存储每个案例“属于”矩阵“lca2$posterior”中的两个类别中的每一个的后验概率。正是这些我想与新数据框中的“序列”ID 号相匹配。
-
poLCA 对象不存储序列,您只需要相信后验与输入数据帧的顺序相同。也就是说,您可以使用
write.csv(cbind(lcadata[,"serial"],lca2$posterior),file="output.csv")写出结果;如果您还想要输出中的变量 V1...V4,请删除[,"serial"]。
标签: r