【问题标题】:How to calculate t-statistic for the difference between two groups using robust standard erros?如何使用稳健标准误差计算两组之间差异的 t 统计量?
【发布时间】:2021-02-07 04:42:41
【问题描述】:

我正在尝试估计两组之间差异的 t 统计量,我需要使用稳健的标准误。

我有两组,我使用 lm-model 估计了两组系数。然后我从第一个系数中减去了第二个模型系数。这样我就可以有所作为了。

但现在我需要使用稳健的标准误来计算差异的 t 统计量。这就是问题开始的地方。当我有两组要比较时,我不知道如何计算这些稳健的标准误差。我曾尝试在 R 中使用 t.test 函数,但我认为这不是正确的方法。

你能帮我从哪里开始吗?

提前谢谢你!

【问题讨论】:

    标签: r statistics


    【解决方案1】:

    使用lmtestsandwich 包:

    # simulates some data
    set.seed(666) # just for replication
    n1 <- 10; n2 <- 15 # sample sizes
    y1 <- rnorm(n1)
    y2 <- rnorm(n2)
    group <- rep(c("A", "B"), times = c(n1, n2))
    dat <- data.frame(group = group, y = c(y1, y2))
    
    # linear regression
    fit <- lm(y ~ group, data = dat)
    
    # standard erros, p-values, confidence intervals, based on robust 
    #   estimation of the variance-covariance matrix
    library(parameters)
    standard_error_robust(fit)
    p_value_robust(fit)
    ci_robust(fit)
    
    # or 
    library(lmtest)
    library(sandwich)
    coeftest(fit, vcov = vcovHC)
    # t test of coefficients:
    #              Estimate Std. Error t value Pr(>|t|)
    # (Intercept) -0.096076   0.494739 -0.1942   0.8477
    # groupB       0.102826   0.575257  0.1787   0.8597
    

    【讨论】:

    • 首先我要感谢您的帮助。就我而言,我有两个不同的数据。两个数据都包含相同的信息,但日期不同,数据的长度也不相同。我已经用两个线性回归估计了系数,并想比较 data1 的系数是否与 data2 的系数在统计上不同。我无法运行包含两个数据集的回归,因为我最终得到了大的 t 统计量。是否可以运行两个单独的回归并仍然使用稳健的标准误差获得它们的差异的 t 统计量?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-24
    • 2014-05-02
    • 2020-12-22
    • 2015-05-15
    • 2022-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多