我有一张看起来像这样的表(数字完全组成了)。
有n
个预测变量和1个响应变量
p1 p2 p3 p4 pn r1
3 6 5 3 6 1
8 9 3 3 1 0
8 3 3 3 1 1
这里是输入R
df <- read.table(header = TRUE, text = "
p1 p2 p3 p4 pn r1
3 6 5 3 6 1
8 9 3 3 1 0
8 3 3 3 1 1
")
我想制作一个卡方p值的伪Rsquared表。
作为表格,看起来像这样(注意:数字组成)
rownames p1.p2 p1.p3 ... p1.p2.p3.p4...pn
psuedoR2 .005 .006 ... .011
chi2pval .003 .004 ... .009
如上所示,预测变量的数量将影响有多少列。
我尝试了以下类似的操作,这是非常不正确的,最好忽略一下:
a <- apply(cbind(paste(names(df)[26],"~"),data.frame(t(combn(df[,1:4], 3)))), 1, paste, collapse="+")
# array of pvals
model.p <- lapply(a,FUN = function(X) glm(X, data=df, family="binomial"))$`1`
我知道上面有很多错误,例如,它通过第1-4列而不是任意数字n,并且我也不清楚如何访问相关统计信息并将它们放在表中。此外,仅当这些列以逻辑回归中使用的预测变量为标题时,这才有用。