相关疑难解决方法(0)

将所有因子水平与总平均值进行比较:我可以调整线性模型拟合中的对比度以显示所有水平吗?

我正在尝试调整线性模型上的对比编码,我想知道因子的每个级别是否与总平均值显着不同。

\n

让\xe2\x80\x99s 表示该因子具有级别“A”、“B”和“C”。最常见的对照治疗对比显然将“A”设置为参考水平,并将“B”和“C”与其进行比较。这不是我想要的,因为“A”级没有出现在模型摘要中。

\n

偏差编码似乎也没有给我想要的东西,因为它将级别“C”的对比矩阵设置为[-1,-1,-1],现在这个级别没有显示在模型摘要中。

\n
set.seed(1)\ny <- rnorm(6, 0, 1)\nx <- factor(rep(LETTERS[1:3], each = 2))\nfit <- lm(y ~ x, contrasts = list(x = contr.sum))\nsummary(fit)\n
Run Code Online (Sandbox Code Playgroud)\n

此外,报告的级别名称已从“A”、“B”更改为“1”和“2”。

\n
Call:\nlm(formula = y ~ x, contrasts = list(x = contr.sum))\n\nResiduals:\n     1      2      3      4      5      6 \n-0.405  0.405 -1.215  1.215  0.575 -0.575 \n\nCoefficients:\n            Estimate Std. Error t value Pr(>|t|)\n(Intercept) -0.02902    0.46809  -0.062    0.954\nx1          -0.19239    0.66198  -0.291    0.790\nx2           0.40885    0.66198   0.618    0.581\n\nResidual standard error: 1.147 on 3 degrees of freedom\nMultiple …
Run Code Online (Sandbox Code Playgroud)

regression r linear-regression lm categorical-data

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

`lm`摘要不显示所有因子水平

我对一些属性,包括两个分类属性运行的线性回归,B并且F,我没有得到每一个因子水平我有一个系数值.

B有9个级别,F有6个级别.当我最初运行模型(带截距)时,我得到8个系数B,F其中5个我理解为拦截中包含的每个系数的第一级.

我希望在其中排列水平BF基于它们的系数,所以我-1在每个因子之后添加以将截距锁定为0,以便我可以获得所有级别的系数.

Call:
lm(formula = dependent ~ a + B-1 + c + d + e + F-1 + g + h, data = input)

Coefficients:
       Estimate Std. Error t value Pr(>|t|)    
a     2.082e+03  1.026e+02  20.302  < 2e-16 ***
B1   -1.660e+04  9.747e+02 -17.027  < 2e-16 ***
B2   -1.681e+04  9.379e+02 -17.920  < 2e-16 ***
B3   -1.653e+04  9.254e+02 -17.858  < 2e-16 ***
B4   -1.765e+04 …
Run Code Online (Sandbox Code Playgroud)

regression r linear-regression lm

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

如何使用聚类协方差矩阵对回归系数进行线性假设检验?

我有兴趣计算 R 中线性回归后系数线性组合的估计值和标准误差。例如,假设我有回归和测试:

\n\n
data(mtcars)\nlibrary(multcomp)\nlm1 <- lm(mpg ~ cyl + hp, data = mtcars)\nsummary(glht(lm1, linfct = 'cyl + hp = 0'))\n
Run Code Online (Sandbox Code Playgroud)\n\n

cyl这将估计和上的系数之和的值hp,并根据 生成的协方差矩阵提供标准误差lm

\n\n

但是,假设我想将我的标准错误聚集在第三个变量上:

\n\n
data(mtcars)\nlibrary(multcomp)\nlibrary(lmtest)\nlibrary(multiwayvcov)\nlm1 <- lm(mpg ~ cyl + hp, data = mtcars)\nvcv <- cluster.vcov(lm1, cluster = mtcars$am)\nct1 <- coeftest(lm1,vcov. = vcv)\n
Run Code Online (Sandbox Code Playgroud)\n\n

ct1包含我的聚类的 SE am。但是,如果我尝试使用ct1中的对象glht,则会收到错误消息

\n\n
\n

modelparm.default(model, ...) 中的错误:\n 未找到 \xe2\x80\x98model\xe2\x80\x99 的 \xe2\x80\x98coef\xe2\x80\x99 方法!

\n
\n\n

关于如何使用聚类方差协方差矩阵进行线性假设有什么建议吗?

\n\n

谢谢!

\n

regression r covariance linear-regression lm

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

ANOVA表的R重要性代码?

测试数据框:

> foo
      x     y     z
1 0.191 0.324 0.620
2 0.229 0.302 0.648
3 0.191 0.351 0.626
4 0.229 0.324 0.630
5 0.152 0.374 0.656
6 0.191 0.295 0.609
7 0.229 0.267 0.665
8 0.152 0.353 0.657
9 0.152 0.355 0.655
Run Code Online (Sandbox Code Playgroud)

两个线性模型:

model1 <- lm(z~polym(x,y,degree = 1),data=foo)
model2 <- lm(z~polym(x,y,degree = 2),data=foo)
Run Code Online (Sandbox Code Playgroud)

两个模型的ANOVA返回:

> anova(model1,model2)
Analysis of Variance Table

Model 1: z ~ polym(x, y, degree = 1)
Model 2: z ~ polym(x, y, degree = 2)
  Res.Df      RSS …
Run Code Online (Sandbox Code Playgroud)

regression r anova

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

如何在使用R进行回归分析时为变量设置对比?

在编码过程中,我需要更改分配给一个因子的虚拟值。但是,以下代码不起作用。有什么建议吗?

test_mx= data.frame(a= c(T,T,T,F,F,F), b= c(1,1,1,0,0,0))
test_mx
      a b
1  TRUE 1
2  TRUE 1
3  TRUE 1
4 FALSE 0
5 FALSE 0
6 FALSE 0

model= glm(b ~ a, data= test_mx, family= "binomial")
summary(model)

model= glm(a ~ b, data= test_mx, family= "binomial")
summary(model)
Run Code Online (Sandbox Code Playgroud)

在这里,我将得到b的系数为47。现在,如果我交换虚拟值,则它应该为-47。然而,这种情况并非如此。

test_mx2= test_mx
contrasts(test_mx2$a)
      TRUE
FALSE    0
TRUE     1
contrasts(test_mx2$a) = c(1,0)
contrasts(test_mx2$a)
      [,1]
FALSE    1
TRUE     0
model= glm(a ~ b, data= test_mx2, family= "binomial")
summary(model)
Run Code Online (Sandbox Code Playgroud)

b的系数仍然相同。到底是怎么回事?谢谢。

regression r linear-regression lm glm

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