0

您如何强制lsmeans报告常数调节器的每个值的单独估计值?

例如,我想要三个gear不同级别的差异估计值disp

library(magrittr)
library(lsmeans)

data(mtcars)

lm(mpg ~ disp * gear, data = mtcars) %>% 
  lsmeans("gear", at = list(disp = c(90, 110, 130))) 

返回

   gear   lsmean        SE df lower.CL upper.CL
 3.6875 24.40467 0.9219954 28 22.51605  26.2933

Results are averaged over the levels of: disp 
Confidence level used: 0.95 

如何获得设定水平的估计值disp

4

1 回答 1

1

我不确定你到底想要什么。可能是这个???

lm(mpg ~ disp * gear, data = mtcars) %>% 
  lsmeans("disp", at = list(disp = c(90, 110, 130)))

(即,要求"disp",而不是"gear")这将返回平均gear3.6875的估计值

 disp   lsmean        SE df lower.CL upper.CL
   90 25.24867 0.9998285 28 23.20061 27.29673
  110 24.40467 0.9219954 28 22.51605 26.29330
  130 23.56068 0.8515002 28 21.81646 25.30490

或者您是否也需要对每个齿轮进行估算,在这种情况下,您可能应该将其建模为一个因素:

lm(mpg ~ disp * factor(gear), data = mtcars) %>% lsmeans("gear")

这给了你

 gear   lsmean        SE df  lower.CL upper.CL
    3 18.56976 0.9620189 26 16.592300 20.54722
    4 11.37039 2.2772013 26  6.689537 16.05125
    5 19.94602 1.1954875 26 17.488656 22.40338

还是您真的想要两者的组合?

lm(mpg ~ disp * factor(gear), data = mtcars) %>%
  lsmeans(~ gear * disp, at = list(disp = c(90, 110, 130)))

 gear disp   lsmean        SE df lower.CL upper.CL
    3   90 22.19623 1.8414008 26 18.41117 25.98128
    4   90 28.56839 0.9946413 26 26.52387 30.61290
    5   90 27.09119 1.7048444 26 23.58683 30.59554
    3  110 21.68082 1.7067310 26 18.17258 25.18905
    4  110 26.12414 0.7884968 26 24.50336 27.74491
    5  110 26.07568 1.5477849 26 22.89417 29.25720
    3  130 21.16541 1.5739549 26 17.93010 24.40072
    4  130 23.67988 0.7573308 26 22.12317 25.23660
    5  130 25.06018 1.4087160 26 22.16452 27.95584

还是齿轮和排量的各自组合?

.Last.value[c(1,5,9)]

 gear disp   lsmean        SE df lower.CL upper.CL
    3   90 22.19623 1.8414008 26 17.50882 26.88364
    4  110 26.12414 0.7884968 26 24.11696 28.13131
    5  130 25.06018 1.4087160 26 21.47420 28.64616

但是你说了一些关于齿轮差异的事情;这就是你想要的吗?

lm(mpg ~ disp * factor(gear), data = mtcars) %>%
  lsmeans(~ gear | disp, at = list(disp = c(90, 110, 130))) %>% 
  pairs

disp =  90:
 contrast    estimate       SE df t.ratio p.value
 3 - 4    -6.37216328 2.092861 26  -3.045  0.0141
 3 - 5    -4.89496043 2.509432 26  -1.951  0.1449
 4 - 5     1.47720285 1.973780 26   0.748  0.7373

disp = 110:
 contrast    estimate       SE df t.ratio p.value
 3 - 4    -4.44331881 1.880069 26  -2.363  0.0646
 3 - 5    -4.39486710 2.304033 26  -1.907  0.1567
 4 - 5     0.04845172 1.737057 26   0.028  0.9996

disp = 130:
 contrast    estimate       SE df t.ratio p.value
 3 - 4    -2.51447435 1.746678 26  -1.440  0.3360
 3 - 5    -3.89477376 2.112301 26  -1.844  0.1755
 4 - 5    -1.38029941 1.599384 26  -0.863  0.6679

P value adjustment: tukey method for comparing a family of 3 estimates
于 2017-06-27T01:54:10.160 回答