[R-sig-ME] GLMM - Prediction
Cleber Iack
profiack at gmail.com
Sun Mar 4 01:06:35 CET 2018
Dear
First, thank you very much for your time in answering.
I'm sending a code that I tried not to inform the ID and I couldn't,
Displays the following error at the end
"Error in eval (predvars, date, env): object ID not found"
I'd appreciate it if you could give me some guidance
Thanks
####
library(plyr)
library(dplyr)
library(lme4)
n = 300
xx<-c("r1", "r2", "r3", "r4", "r5")
xxx<-c("e1", "e2", "e3")
p=0.3
School = factor(sample(xxx, n, replace=TRUE), levels=xxx, ordered=FALSE)
Rank = factor(sample(xx, n, replace=TRUE), levels=xx, ordered=FALSE)
df1 <- data_frame(
ID = as.integer(runif(n, min = 1, max = n/7)),
xx1 = runif(n, min = 0, max = 10),
xx2 = runif(n, min = 0, max = 10),
xx3 = runif(n, min = 0, max = 10),
School = School,
Rank = Rank,
yx = as.factor(rbinom(n, size = 1, prob = p))
)
df1 = df1[order(df1$ID, decreasing=FALSE),]
library(lme4)
mm2 <- glmer(yx ~ xx1 + xx2 + xx3 + Rank + (1 | ID) + (1 | School / Rank),
data = df1,
family = "binomial",control = glmerControl(calc.derivs =
FALSE))
n11 <- data.frame(School=factor("e1", levels =
levels(df1$School),ordered=FALSE),
Rank=factor("r1", levels =
levels(df1$Rank),ordered=FALSE),
xx1=8.58, xx2=8.75, xx3=7.92)
predict(mm2, n11, type="response",re.form= ~(1 | School / Rank))
##
2018-03-02 9:46 GMT+00:00 Thierry Onkelinx <thierry.onkelinx at inbo.be>:
> Dear Iack,
>
> Look at the re.form argument of ?lme4::predict.merMod. This allows you the
> make predictions without the ID random effect.
>
> Best regards,
>
>
> ir. Thierry Onkelinx
> Statisticus / Statistician
>
> Vlaamse Overheid / Government of Flanders
> INSTITUUT VOOR NATUUR- EN BOSONDERZOEK / RESEARCH INSTITUTE FOR NATURE AND
> FOREST
> Team Biometrie & Kwaliteitszorg / Team Biometrics & Quality Assurance
> thierry.onkelinx at inbo.be
> Havenlaan 88
> <https://maps.google.com/?q=Havenlaan+88&entry=gmail&source=g> bus 73,
> 1000 Brussel
> www.inbo.be
>
> ////////////////////////////////////////////////////////////
> ///////////////////////////////
> To call in the statistician after the experiment is done may be no more
> than asking him to perform a post-mortem examination: he may be able to say
> what the experiment died of. ~ Sir Ronald Aylmer Fisher
> The plural of anecdote is not data. ~ Roger Brinner
> The combination of some data and an aching desire for an answer does not
> ensure that a reasonable answer can be extracted from a given body of data.
> ~ John Tukey
> ////////////////////////////////////////////////////////////
> ///////////////////////////////
>
> <https://www.inbo.be>
>
> 2018-03-02 1:09 GMT+01:00 Cleber Iack <profiack at gmail.com>:
>
>> Dear,
>>
>> I have n different companies with different characteristics and each
>> company of this has the same positions
>> I selected data from several members of each position of each Company, and
>> there were behavioral variables ranging from 0 to 10, which to facilitate
>> I
>> will call x1, x2, x3, these variables were collected more than once for
>> each person.
>>
>> The objective is to predict the probability of occurrence of a fact, and
>> each person was also noted if this fact occurred or not. (0 or 1)
>>
>> Using
>>
>> formMod1= fato~ x1+x2+x3+(1 | company / position)
>> Mod1 <- glmer( formMod1 , data = dadosord , family = binomial,
>> control = glmerControl(optimizer="bobyqa"))
>>
>> This model I can make a prediction without "problems"
>>
>> n11 <- data.frame(company =factor("M1", levels =
>> levels(dadosord$company ),ordered=FALSE),
>> position=factor("P1", levels =
>> levels(dadosord$position),ordered=FALSE),
>> x1=1, x2=7,x3=7)
>> predict( Mod1 , n11, type="response")
>>
>> But I was worried because I have more than one observation of the
>> characteristics per individual, if I would not have to put it also as
>> random
>> or somehow analyze this structure of possible correlation
>>
>> Thinking about the first case I did
>>
>> formMod2= fato~ x1+x2+x3+(1 | company / position) + (1 | ID)
>> Mod2 <- glmer( formMod2 , data = dadosord , family = binomial,
>> control = glmerControl(optimizer="bobyqa"))
>>
>> But in this case when trying to predict the probability of the fact, the
>> function "predict" asks me who is the proposed id, which is out of
>> interest, since I must study for a random person who has the same features
>> x1, x2, x3, company and position.
>>
>> And the second form, if any, I do not know how I would do
>>
>> Thanks for the help of my friends.
>>
>> Iack
>>
>> [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> R-sig-mixed-models at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
>>
>
>
[[alternative HTML version deleted]]
More information about the R-sig-mixed-models
mailing list