绘制嵌套数据 - 使用分类预测变量的多级回归

时间:2017-04-15 13:35:20

标签: r plot lattice categorical-data multilevel-analysis

我正在撰写我的硕士论文,而且我对数据的复杂性感到困惑。因此,我想绘制我的数据以查看其中的内容。

我的数据框看起来像这样:我有333个感知者(PID),每个人分别评定60张目标照片(TID),产生19980行。每个感知者(PID)将每个目标的照片评定为他们的可爱程度(评级),并提供多个关于他们自己的自我报告(SDO_mean,KSA_mean,threat_overall)。 照片来自照片类型A(Dwithin = 0)或B型(Dwithin = 1),这是我的内部因素,因为每个感知者看到所有照片。此外,感知者被分配到两个受试者之间的条件之一(D之间):来自B型的所有照片(TID)(Dwithin = 1)被标记为具有迁移背景的人(D between = 0)或作为难民(D between = 1) )。 这导致嵌套设计,其中评级嵌套在PID中以及TID中。我的数据看起来像这样:

TID PID Dwithin Dbetween Rating SDO_mean KSA_mean threats_overall
1   1       0        0      5      3.1      2.3             2.2
2   1       1        0      2      3.1      2.3             2.2
3   1       0        0      5      3.1      2.3             2.2
4   1       1        0      1      3.1      2.3             2.2
5   1       0        0      3      3.1      2.3             2.2
6   1       1        0      3      3.1      2.3             2.2

现在我想主要通过分类变量Dwithin和D between来预测可评分。由于D between只能被解释为Dwithin * D之间的相互作用(因为标签仅用于Dwitihn = 1个目标),公式将为:

model1 <- lmer(Rating~1+Dwithin+Dbetween+Dwithin*Dbetween+(1+Dwithin|PID)+(1|TID),data=df)

现在我想绘制我用于回归的数据。一个选项可以是为每个Dwithin / D between条件单独绘制等级。或者在model1公式中绘制回归图。但由于这些是分类预测因子,我无法以正确的方式绘制数据。我调查了lattice(),但无法将其应用于我的数据。有没有人可以帮我策划它?非常感谢提前!

@SASpencer:我想过这样的例子。但是我的y尺度不是连续的...它只有1-5的整数。It could also be interesting for the combination of Dwithin and Dbetween (so like in your plot)

这是一个可重复的例子:

mysamp <- function(n, m, s, lwr, upr, nnorm) {
  set.seed(1)
  samp <- rnorm(nnorm, m, s)
  samp <- samp[samp >= lwr & samp <= upr]
  if (length(samp) >= n) {
    return(sample(samp, n))
  }  
} 

options(digits=2)
TID <- rep(1:60, times=333)
PID <- rep(1:333,each=60)
Dwithin <- rep(rep(0:1, times=19980/2))
Dbetween <- rep(rep(0:1, each=60),times=333)[1:19980]
Rating <-  floor(runif(19980, min=1, max=6))
SDO_mean <- rep(mysamp(n=333, m=4, s=2.5, lwr=1, upr=5, nnorm=1000000), each=60)
KSA_mean <- rep(mysamp(n=333, m=2, s=0.8, lwr=1, upr=5, nnorm=1000000), each=60)
threats_overall <- rep(mysamp(n=333, m=3, s=1.5, lwr=1, upr=5, nnorm=1000), each=60)

df <- data.frame(TID,PID,Dwithin,Dbetween, Rating, SDO_mean, KSA_mean, threats_overall)

0 个答案:

没有答案