【问题标题】:Creating a data table of data points above regression line在回归线上方创建数据点的数据表
【发布时间】:2021-10-27 10:31:35
【问题描述】:

我有一个适合固定效应模型的面板数据集:

data <- data.frame(ID = c(1,1,1,1,2,2,3,3,3),
                   year = c(1,2,3,4,1,2,1,2,3),
                   progenyMean = c(90,78,92,69,86,73,82,85,91),
                   damMean = c(89,89,72,98,95,92,94,87,89)

ID, year, progenyMean, damMean
1, 1, 70, 69
1, 2, 68, 69
1, 3, 72, 72
1, 4, 69, 68
2, 1, 76, 75
2, 2, 73, 80
3, 1, 72, 74
3, 2, 75, 67
3, 3, 71, 69

# Fixed Effects Model in plm
fixed <- plm(progenyMean ~ damMean, data, model= "within", index = c("ID","year"))

我用蓝色的固定效应回归线绘制了 progenyMean 与 damMean:

我想识别固定效应回归线上方的ID,并为此信息创建一个数据表。每个唯一的ID 都有几个数据点,所以它是可能的ID 在回归线上下都有点

我已经计算了固定效应模型 (fitted) 的预测值并确定了线上方的数据点:

fitted <- as.numeric(fixed$model[[1]] - fixed$residuals)
above <- data$progenyMean3Y > fitted
above
 [1]  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE FALSE
[12] FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE FALSE  TRUE
[23] FALSE  TRUE  TRUE FALSE FALSE  TRUE  TRUE FALSE FALSE  TRUE FALSE

是否可以使用data.table 创建一个表,其中每一行都是唯一的ID,并且有两列,abovebelow,它们计算高于/低于表的数据点数ID 的回归线?

【问题讨论】:

    标签: r ggplot2 data.table regression mixed-models


    【解决方案1】:

    按照您在问题中已经提出的逻辑,以下是构建摘要的一种方法data.table

    library(data.table)
    library(plm)
    
    data <- data.frame(ID = c(1,1,1,1,2,2,3,3,3),
                       year = c(1,2,3,4,1,2,1,2,3),
                       progenyMean = c(90,78,92,69,86,73,82,85,91),
                       damMean = c(89,89,72,98,95,92,94,87,89))
    
    # Fixed Effects Model in plm
    fixed <- plm(progenyMean ~ damMean, data, model= "within", index = c("ID","year"))
    
    fitted <- as.numeric(fixed$model[[1]] - fixed$residuals)
    above <- data$progenyMean > fitted
    
    dt <- as.data.table(data)
    
    dt[, `:=`(fitted = fixed$model[[1]] - fixed$residuals,
              above = progenyMean > fitted,
              below = progenyMean < fitted)
       ][,
         .(above = sum(above), below = sum(below)), by = "ID"][]
    
    #>    ID above below
    #> 1:  1     1     3
    #> 2:  2     1     1
    #> 3:  3     1     2
    

    reprex package (v2.0.1) 于 2021 年 8 月 27 日创建

    【讨论】:

      猜你喜欢
      • 2014-06-23
      • 2021-06-12
      • 2019-10-22
      • 2022-07-23
      • 2021-11-30
      • 2021-08-13
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      相关资源
      最近更新 更多