我搜索了类似的问题,找不到适合我案例的答案。他们帮助我理解了这个问题 - 但我仍然不知道如何解决它。 我正在做一个有序的逻辑回归,我想要的是这样一个表:
## as.numeric(apply) N=400
##
## +-------+-----------+---+----+-------+-----+
## | | |N |Y>=0|Y>=1 |Y>=2 |
## +-------+-----------+---+----+-------+-----+
## |bekt |1 |337|Inf |-0.3783|-2.44|
## | |2... | 63|Inf | 0.7655|-1.35|
## +-------+-----------+---+----+-------+-----+
## |vstt |1 |343|Inf |-0.2048|-2.35|
## | |2... | 57|Inf |-0.1759|-1.55|
## +-------+-----------+---+----+-------+-----+
## |verwt |1 |102|Inf |-0.3973|-2.77|
## | |2 | 99|Inf |-0.2642|-2.30|
## | |3... |100|Inf |-0.2007|-2.09|
## +-------+-----------+---+----+-------+-----+
## |Overall| |400|Inf |-0.2007|-2.20|
## +-------+-----------+---+----+-------+-----+
如果我们一次一个地对我们的预测变量进行因变量回归,它会显示我们将得到的(线性)预测值,没有平行斜率假设。 这是我使用的代码(我收到上面的错误消息):
sf <- function(y) {
c('Y>=0' = qlogis(mean(y >= 0)),
'Y>=1' = qlogis(mean(y >= 1)),
'Y>=2' = qlogis(mean(y >= 2)))
}
s <- with(dataframe, summary(as.numeric(apply) ~ bekt + vstt + verwt + nwoet, fun=sf))
bekt
等是数据框中的列。
答案 0 :(得分:1)
编辑: 哦,天哪,我无法相信!我只是想出了问题,这非常简单:&#34;申请&#34;在这种情况下不是命令。它是一个变量,df中的一列被称为&#34;应用&#34;。该死......!的
答案 1 :(得分:0)
你的问题可以解释一下你想要完成什么,例如你期望输出的结构和你输入的结果的例子。
话虽如此,根据我可以收集的内容,您希望在每列上应用函数sf
,每个比较器每列获得qlogis
个结果(0,1,2)
如果出现这种情况,可能就是您要找的东西:
sapply(0:2, function(ref) {qlogis(colMeans(dat >= ref))})
它会给出一个矩阵,其中每列与参考值(0,1,2)相关,每行与一列相关。
无需编写sf
函数。
希望我有一个正确的结束,
:)