在R的poLCA
包中我使用poLCA.table
根据估计的潜类模型计算预测的单元格频率。
我需要对潜在类模型中的所有变量组合使用poLCA.table
data(carcinoma)
f <- cbind(A, B, C, D, E, F, G) ~ 1
lca2 <- poLCA(f, carcinoma, nclass = 2)
poLCA.table(formula = A ~ B, condition = list(), lc = lca2)
例如,我需要从G的所有组合到A。
如何自动制作?
答案 0 :(得分:2)
此循环创建强制转换为单独公式对象的字母的双向组合,然后将它们中的每一个传递给您指定的函数:
lapply( apply(combn(LETTERS[1:5],2), 2,
function(col) as.formula( paste(col[1], "~", col[2]) ) ),
function(x) poLCA.table(formula =x, condition = list(), lc = lca2)
)
#------------------
[[1]]
B 1 B 2
A 1 33.572932 18.42707
A 2 5.427068 60.57293
[[2]]
C 1 C 2
A 1 52 2.551164e-10
A 2 21 4.500000e+01
[[3]]
D 1 D 2
A 1 52 1.814161e-10
A 2 34 3.200000e+01
[[4]]
E 1 E 2
A 1 40.408128 11.59187
A 2 6.591872 59.40813
[[5]]
C 1 C 2
B 1 38.23913 0.7608669
B 2 34.76087 44.2391331
[[6]]
D 1 D 2
B 1 38.45894 0.5410609
B 2 47.54106 31.4589391
[[7]]
E 1 E 2
B 1 29.55038 9.44962
B 2 17.44962 61.55038
[[8]]
D 1 D 2
C 1 65.34774 7.652258
C 2 20.65226 24.347742
[[9]]
E 1 E 2
C 1 46.0386552 26.96134
C 2 0.9613448 44.03866
[[10]]
E 1 E 2
D 1 46.316377 39.68362
D 2 0.683623 31.31638