Как мне измерить и вытащить значения наклона и перехвата для разных групп из lmer? - PullRequest
0 голосов
/ 29 января 2019

Я использую модель со смешанными эффектами с lmer в R, и у меня возникают проблемы с построением моделей по группам и выводом уравнений линии.

Я подумал, что мне нужно посмотреть на фиксированные и случайные эффекты, которые приведут мое уравнение линии для окончательной условной модели, представленной ниже (т.е. cond_ind_waterxsilver).Когда я извлекаю эти значения для модели, я получаю значения перехвата намного выше, чем я ожидаю.Кто-нибудь, пожалуйста, дайте мне руководство по извлечению значений модели из выходных данных для построения линии и как построить результаты модели?

#conditional model     
cond_waterxsilver <- lmer(LnAg ~ LnVolume + (LnVolume | FilterID) + SilverType + WaterType + SilverType*WaterType + SilverType*LnVolume +  WaterType*LnVolume, data=capwater_removed.data)
aov_cond_ind_waterxsilver <- anova(cond_ind_waterxsilver)
summary(cond_ind_waterxsilver)
aov_cond_ind_waterxsilver

Как я уже упоминал, уравнения, которые я вычислил для каждой группы (по SilverType и WaterType), имеют намного более высокий, чем ожидалось, перехват.

Вот часть вывода, которую я получаюпытаясь интерпретировать:

Random effects:
 Groups   Name        Variance Std.Dev. Corr 
 FilterID (Intercept) 1.84693  1.3590        
          LnVolume    0.07073  0.2660   -0.91
 Residual             0.75533  0.8691        
Number of obs: 187, groups:  FilterID, 33

Fixed effects:
                             Estimate Std. Error       df t value Pr(>|t|)    
(Intercept)                   5.36298    0.67452 25.81163   7.951 2.09e-08 ***
LnVolume                     -1.10424    0.16764 22.59782  -6.587 1.11e-06 ***
SilverTypeCitrate             1.42888    0.90853 27.98025   1.573   0.1270    
SilverTypePVP                -1.68084    0.91226 37.20240  -1.842   0.0734 .  
WaterTypeB                    1.42923    0.78770 26.11938   1.814   0.0811 .  
SilverTypeCitrate:WaterTypeB -1.81514    0.67120 24.94076  -2.704   0.0122 *  
SilverTypePVP:WaterTypeB     -0.03597    0.70150 31.06516  -0.051   0.9594    
LnVolume:SilverTypeCitrate    0.14857    0.20368 14.34068   0.729   0.4775    
LnVolume:SilverTypePVP        0.42758    0.25071 25.73948   1.705   0.1001    
LnVolume:WaterTypeB          -0.14359    0.19678 17.43737  -0.730   0.4753    

1 Ответ

0 голосов
/ 30 января 2019

Я не уверен на 100%, что вы пытаетесь сделать, но я думаю, что функция ranef в lmer - это то, что вы ищете.

Что-то подобное может работать:

library(tidyverse)
rand_effects <- ranef(cond_ind_waterxsilver)
rand_tbl <- rand_effects$FilterID %>%
  rownames_to_column() %>%
  as_tibble()

Это должно дать вам толчок со случайным перехватом и случайным наклоном LnVolume для каждой группы в ваших данных.Это то, что вы ищете?

Кроме того, если это не работает как есть, попробуйте осмотреть объект rand_effects - имя data.frame в нем должно быть (я думаю)FilterID так как это ваша группирующая переменная, но это может быть что-то другое?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...