我想从一本书中重现一些计算(logit 回归)。这本书给出了列联表和结果。

这是表:

r - 如何从r中的列联表中获取带有案例的data.frame?-LMLPHP

    .


    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/

10-12 17:42