标签: standard-error

替换 R 中 Reg 模型中的标准误差

我正在寻找一种方法,用我自己的标准误差直接替换回归模型中的标准误差,以便在另一个 R 包中使用鲁棒模型,该包没有自己的鲁棒选项,只能提供特定类型的模型而不是 coeftest 格式。

假设我有一个线性模型:

model <- lm(data=dat, Y ~ X1 + X2 + X3)
Run Code Online (Sandbox Code Playgroud)

然后我想要强大的标准错误:

robust <- coeftest(model, vcov=sandwich)
Run Code Online (Sandbox Code Playgroud)

接下来,我需要在一个特定的包中使用这个模型,这个包不能提供 coeftest 并且没有自己强大的标准错误选项。我想在将其放入包之前替换原始模型的标准误差(以及,就此而言,p 值、t 统计量等),以便将它们考虑在内。

要访问原始模型中的标准错误,我使用:

summary(model)$coefficients[,2]
Run Code Online (Sandbox Code Playgroud)

为了从coeftest 中提取标准误差,我使用:

coeftest.se <- robust[, 2]
Run Code Online (Sandbox Code Playgroud)

但是,以下方法在尝试替换模型的标准错误时会返回错误,因为它将“摘要”本身视为命令:

summary(model)$coefficients[,2] <- coeftest.se


Error in summary(M3)$coefficients[, 2] <- seM3 : could not find function "summary<-"
Run Code Online (Sandbox Code Playgroud)

细节

我正在尝试使用 Mediation R 包运行中介分析。该包将使用“中介”函数执行一种方式的集群标准错误,但我想要两种方式的集群标准错误。

为了获得两路聚类标准错误,我使用了 Mahmood Arai 的 mclx 函数(代码可以在这里找到(第 4 页)。

我的想法是用已经报告正确标准错误的模型来提供包的中介函数。根据文档,中介包接受以下类别的模型:lm、polr、bayespolr、glm、bayesglm、gam、rq、survreg 和 merMod。

regression r standard-error

5
推荐指数
1
解决办法
2812
查看次数

三明治::vcovHC() 和 coeftest::lmtest() 返回 NA 值

我目前正在构建一个回归模型,该模型有助于使用收入、温度等某些因素来解释销售情况。在检查回归后的残差图时,残差是异方差的。

为了解释异方差性,我在 R 中使用了vcovHC()coeftest(),它可用于在异方差性假设下重新计算标准误差及其 p 值。但这些函数返回 NA 值,因此所有相应的 p 值也是 NA。导致此问题的原因可能是什么以及如何解决?其代码如下:

fit_p <- lm(formula = final_list_p, data = new_data_p)
s_p <- summary(fit_p)
Run Code Online (Sandbox Code Playgroud)

线性回归输出的汇总统计数据为:

Residuals:                  
Min      1Q  Median      3Q     Max                     
-244190  -60770   -5759   59730  311108         
            
                
Coefficients:                   
Estimate                    
(Intercept)                 
        Std. Error  t   value   Pr(>|t|)    
var1    -3.36E+05   1.77E+05    -1.893  0.059026    .
var2    -2.90E+04   4.96E+03    -5.86   8.97E-09    ***
var3    -1.75E+05   8.93E+04    -1.958  0.050834    .
var4    -4.62E+00   2.80E+00    -1.653  0.098975    .
var5    2.39E+01    7.85E+00    3.04    0.002503    **
var6    -6.32E+04   1.08E+05    -0.588 …
Run Code Online (Sandbox Code Playgroud)

r standard-error linear-regression lm p-value

5
推荐指数
1
解决办法
5717
查看次数

从逻辑回归列表中提取系数的所有标准误差

我想从逻辑回归模型列表中提取标准错误.

这是逻辑回归函数,以这种方式设计,因此我可以同时运行多个分析:

glmfunk <- function(x) glm(  ldata$DFREE ~  x , family=binomial)
Run Code Online (Sandbox Code Playgroud)

我在数据帧ldata中的变量子集上运行它:

glmkort <- lapply(ldata[,c(2,3,5,6,7,8)],glmfunk)
Run Code Online (Sandbox Code Playgroud)

我可以像这样提取系数:

sapply(glmkørt, "[[", "coefficients")
Run Code Online (Sandbox Code Playgroud)

但是我如何提取系数的标准误差?我似乎无法在str(glmkort)中找到它?

这是AGE的str(glmkort),我正在寻找标准错误:

str(glmkort)
List of 6
 $ AGE    :List of 30
  ..$ coefficients     : Named num [1:2] -1.17201 -0.00199
  .. ..- attr(*, "names")= chr [1:2] "(Intercept)" "x"
  ..$ residuals        : Named num [1:40] -1.29 -1.29 -1.29 -1.29 4.39 ...
  .. ..- attr(*, "names")= chr [1:40] "1" "2" "3" "4" ...
  ..$ fitted.values    : Named num [1:40] 0.223 0.225 0.225 0.225 0.228 …
Run Code Online (Sandbox Code Playgroud)

r standard-error logistic-regression coefficients

4
推荐指数
1
解决办法
3301
查看次数

带有ggplot的错误栏 - 获取错误

我正在尝试创建一个折线图,并在我添加错误栏时继续收到错误(刚刚开始使用R,所以道歉!).我不确定为什么 - 帮助将不胜感激!

Group = c("a","a","b","b","a","a","b","b")
Time = c(1,2,1,2,1,2,1,2)
Code = c("A","A","A","A","B","B","B","B")
Mean = (2,6,7,5,6,1,2,8)
SE = c(1.9,1.7,1.5,1.3,2,1.8,2.3,1.5)
dataset=data.frame(Group,Time,Code,Mean,SE)

ggplot(data=dataset) + geom_line(aes(x=Time,y=Mean,colour=Code,linetype=Group))+ 
  scale_x_continuous(breaks=c(1,2)) + 
  scale_linetype_manual(values=c(2,1)) + 
  geom_point(aes(x=Time,y=Mean,colour=Code,linetype=Group)) + 
  geom_errorbar(aes(ymin=Mean-SE,ymax=Mean+SE),width=.1,position=dodge)
Run Code Online (Sandbox Code Playgroud)

问题与最后一行有关 - 没有它,代码工作正常.但有了它,我得到:Error in eval(expr, envir, enclos) : object 'x' not found.

那我该怎么做错了geom_errorbar

r standard-error ggplot2

4
推荐指数
1
解决办法
5032
查看次数

R - 具有估计标准误差的线性回归的 k 倍交叉验证

我想在 R 中对线性回归模型执行 k 折交叉验证并测试一个标准误差规则:

https://stats.stackexchange.com/questions/17904/one-standard-error-rule-for-variable-selection

因此,我需要一个函数,它可以返回预测误差的交叉验证估计该估计的标准误差(或者至少是每次折叠的 MSE,以便我可以自己计算标准误差)。许多包都有计算交叉验证误差的函数(例如,cv.glmboost包中),但通常它们仅返回预测误差的 CV 估计,而不返回其标准误差或每次折叠的 MSE。

我尝试使用 package DAAG,它的函数CVlm应该提供比cv.glm. 但是,我似乎无法让它发挥作用!这是我的代码:

a=c(0.0056, 0.0088, 0.0148, 0.0247, 0.0392, 0.0556, 0.0632, 0.0686, 0.0786, 0.0855, 0.0937)
b=c(6.0813, 9.5011, 15.5194, 23.9409, 32.8492, 40.8399, 43.8760, 45.5270, 46.7668, 46.1587, 43.4524)
dataset=data.frame(x=a,y=b)
CV.list=CVlm(df=dataset,form.lm = formula(y ~ poly(x,2)), m=5)
Run Code Online (Sandbox Code Playgroud)

我得到了几乎没有信息的错误

Error in xy.coords(x, y, xlabel, ylabel, log) : 
'x' and 'y' lengths differ 
Run Code Online (Sandbox Code Playgroud)

这对我来说没有多大意义。xy的长度相同 (11),因此很明显该函数正在抱怨它内部创建的其他一些x变量y

我很乐意接受其他软件包的解决方案(例如 …

r standard-error linear-regression cross-validation r-caret

4
推荐指数
1
解决办法
4559
查看次数

将错误栏放在ggplot()中列的中心时出现问题

我的条形图有问题 - 错误条只出现在分组变量列的一角,而不是集中显示在它们上面.我使用的代码是这样的:

a <- data.frame (Cond = c("In", "In", "Out", "Out"),
                Temp = c("Hot", "Cool", "Hot", "Cool"),
                Score = c(.03, -.15, 0.84, 0.25),
                SE = c(.02, .08, .14, .12))
a.bar <- ggplot (data = a, aes(x = Cond, y = Score, fill = Temp)) +
            theme_bw() + theme(panel.grid = element_blank ()) +
            coord_cartesian (ylim = c(-0.5, 1)) + 
            geom_bar (aes(fill = Temp), stat = "identity", position = "dodge", width = .5) +
            geom_errorbar (aes(ymin = Score - SE, ymax …
Run Code Online (Sandbox Code Playgroud)

r standard-error bar-chart ggplot2

4
推荐指数
1
解决办法
4907
查看次数

循环 curl 调用并在出现错误之前计算成功响应

我正在尝试测试和量化来自 http 服务器的间歇性错误响应。我构建了一个可以发出必要请求的 curl 调用,但是我已经厌倦了键入向上箭头并返回。

如何告诉 curl 重复发出请求,直到遇到错误,然后输出错误前成功响应的数量?

shell curl loops httpresponse standard-error

4
推荐指数
1
解决办法
7086
查看次数

如何在 lm_robust() 后获得带有聚类标准误差的边际效应?

我正在逐年运行带有聚集标准误差的回归。这很容易用 Stata 完成,但我必须用 R 来完成,所以我使用包中的lm_robust()函数运行它estimatr。问题是我现在必须得到一些变量的边际效应,但我不能这样做,我猜这是因为集群标准错误。我遵循了手册上的内容lm_robust(),我看到他们只将 margins 包中的 margins 命令用于其他功能而没有聚集的标准错误......有没有人知道我如何获得和绘制边际效应?

set.seed(42)
library(fabricatr)
library(randomizr)
dat <- fabricate(
  N = 100,                        # sample size
  x = runif(N, 0, 1),             # pre-treatment covariate
  y0 = rnorm(N, mean = x),        # control potential outcome
  y1 = y0 + 0.35,                 # treatment potential outcome
  z = complete_ra(N),             # complete random assignment to treatment
  y = ifelse(z, y1, y0),          # observed outcome

  # We will also consider clustered data
  clust = …
Run Code Online (Sandbox Code Playgroud)

r cluster-analysis standard-error lm

4
推荐指数
2
解决办法
1402
查看次数

标准误差二进制变量R

如何使用R计算二进制变量的标准误差?我有一组参与者在几种情况下执行任务。输出可能是0(不正确)或1(正确)。我用以下方法计算了正确答案和标准误(SE)的平均比例:

mean<-tapply(dataRsp$Accuracy, dataRsp$Condition, FUN=mean)

SE<- with(dataRsp, tapply(Accuracy, Condition, sd)/sqrt(summary(dataRsp$Condition)) )
Run Code Online (Sandbox Code Playgroud)

但是SE极其严格,以至于很难正确。可能有人给我一些想法吗?我发现下一个可能是解决方案,

sqrt(p.est*(1-p.est)/n)
Run Code Online (Sandbox Code Playgroud)

...但是我不知道如何在R中实现它。

r standard-error

3
推荐指数
1
解决办法
2647
查看次数

如何从方差-协方差矩阵计算标准误差?

我正在计算方差-协方差矩阵,我看到两种不同的计算标准误差的方法:

  • sqrt(对角线值/观察次数)

例如标准偏差/ sqrt(观察次数)

(从如何计算标准误差https://en.wikipedia.org/wiki/Standard_error 给出

或者有人说这只是

  • sqrt(对角线值)

我以前认为方差-协方差矩阵中的对角线值是方差,因此平方根是标准差(不是 SE)。然而,我读得越多,我就越认为我可能是错的,它是 SE,但我不确定为什么会这样。

任何人都可以帮忙吗?非常感谢!!

statistics covariance variance standard-error covariance-matrix

3
推荐指数
1
解决办法
1万
查看次数