我想从一本书中重现一些计算(logit 回归)。这本书给出了列联表和结果。
这是表:
.
example <- matrix(c(21,22,6,51), nrow = 2, byrow = TRUE)
#Labels:
rownames(example) <- c("Present","Absent")
colnames(example) <- c(">= 55", "<55")
它给了我这个:
>= 55 <55
Present 21 22
Absent 6 51
但是要使用 glm() 函数,数据必须采用以下方式:
(两列,一列是“Age”,一列是“Present”,填0/1)
age <- c(rep(c(0),27), rep(c(1),73))
present <- c(rep(c(0),21), rep(c(1),6), rep(c(0),22), rep(c(1),51))
data <- data.frame(present, age)
> data
present age
1 0 0
2 0 0
3 0 0
. . .
. . .
. . .
100 1 1
有没有一种简单的方法可以从表/矩阵中获取此结构?
最佳答案
reshape2::melt(example)
这会给你,
Var1 Var2 value
1 Present >= 55 21
2 Absent >= 55 6
3 Present <55 22
4 Absent <55 51
您可以轻松地将其用于
glm
关于r - 如何从r中的列联表中获取带有案例的data.frame?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36499331/