您可以将变量定义为字符,然后定义一个 RHS 并使用 paste 和 as.formula,
V1 <- "Y1"
rhs <- "~ X1/X2 + X2*X1 + (1|X1:X2:X3) + (1|X1:X2:X4)"
mod <- lme4::lmer(as.formula(paste(V1, rhs)), data=df)
和往常一样cast。
reshape::cast(X3 ~ X2, data=df, value=V1, fun=mean)
# X3 2 3 4 5 6 7 8
# 1 1 NaN NaN 1.25829503 NaN NaN 0.24229907 NaN
# 2 2 NaN NaN NaN NaN -1.66993472 NaN NaN
# 3 3 0.69914031 0.52025487 -0.13089285 -0.45742957 0.68799299 -0.65833219 -0.8931447
# 4 4 0.07498591 -0.06759845 -0.15950271 0.47577484 -0.31345072 0.98613984 NaN
# 5 5 0.34686080 0.84569994 0.22288982 -0.09291759 0.07317659 0.48756834 1.0484134
# 6 6 NaN -0.47471895 -0.01001069 0.03145422 -0.35163411 -0.43344249 NaN
# 7 7 NaN 0.17256757 0.68457304 0.11125033 -0.30236288 0.06483394 NaN
# 8 8 NaN -0.12143693 0.11786080 -0.10686611 0.78027538 0.70950092 NaN
数据:
df <- structure(list(X1 = c(3L, 7L, 0L, 3L, 5L, 6L, 2L, 5L, 4L, 5L,
5L, 4L, 6L, 5L, 6L, 3L, 4L, 6L, 4L, 7L, 6L, 3L, 6L, 4L, 4L, 5L,
4L, 7L, 5L, 6L, 7L, 4L, 5L, 5L, 4L, 8L, 3L, 2L, 5L, 7L, 5L, 5L,
2L, 5L, 6L, 4L, 5L, 3L, 6L, 4L, 5L, 5L, 4L, 6L, 5L, 3L, 3L, 5L,
7L, 5L, 3L, 6L, 5L, 4L, 6L, 2L, 4L, 6L, 5L, 6L, 4L, 6L, 8L, 5L,
7L, 4L, 4L, 8L, 7L, 5L, 5L, 4L, 1L, 4L, 6L, 3L, 6L, 3L, 3L, 5L,
5L, 6L, 7L, 6L, 5L, 5L, 6L, 8L, 6L, 3L), X2 = c(3L, 4L, 6L, 6L,
6L, 5L, 6L, 3L, 3L, 6L, 4L, 2L, 1L, 7L, 6L, 4L, 6L, 5L, 7L, 6L,
5L, 2L, 5L, 8L, 5L, 5L, 3L, 5L, 5L, 5L, 3L, 4L, 9L, 2L, 5L, 5L,
4L, 5L, 5L, 6L, 8L, 9L, 6L, 4L, 10L, 2L, 3L, 5L, 6L, 6L, 4L,
6L, 5L, 4L, 6L, 4L, 6L, 6L, 4L, 3L, 4L, 5L, 4L, 6L, 5L, 6L, 5L,
7L, 9L, 6L, 6L, 5L, 3L, 3L, 2L, 5L, 8L, 5L, 4L, 5L, 8L, 8L, 4L,
3L, 4L, 4L, 5L, 4L, 5L, 3L, 3L, 7L, 5L, 2L, 6L, 5L, 6L, 6L, 5L,
5L), X3 = c(3L, 5L, 7L, 4L, 4L, 5L, 3L, 4L, 4L, 7L, 4L, 3L, 6L,
5L, 8L, 4L, 6L, 5L, 5L, 4L, 6L, 3L, 4L, 6L, 4L, 6L, 6L, 5L, 4L,
3L, 4L, 5L, 3L, 5L, 6L, 6L, 6L, 3L, 7L, 3L, 6L, 5L, 7L, 4L, 8L,
4L, 5L, 3L, 5L, 2L, 4L, 4L, 8L, 4L, 6L, 4L, 3L, 5L, 5L, 5L, 4L,
6L, 5L, 7L, 4L, 6L, 5L, 5L, 7L, 6L, 3L, 4L, 3L, 4L, 5L, 6L, 3L,
3L, 5L, 5L, 8L, 6L, 4L, 4L, 4L, 6L, 1L, 6L, 6L, 5L, 3L, 8L, 5L,
5L, 5L, 8L, 2L, 5L, 8L, 5L), X4 = c(3L, 7L, 6L, 6L, 4L, 6L, 3L,
5L, 4L, 6L, 5L, 6L, 5L, 4L, 5L, 8L, 6L, 7L, 3L, 2L, 2L, 8L, 4L,
5L, 3L, 5L, 5L, 5L, 6L, 5L, 4L, 6L, 4L, 3L, 2L, 5L, 5L, 7L, 4L,
5L, 6L, 7L, 5L, 6L, 7L, 2L, 2L, 6L, 6L, 7L, 4L, 5L, 3L, 4L, 4L,
4L, 5L, 3L, 4L, 8L, 6L, 5L, 2L, 5L, 5L, 3L, 5L, 4L, 8L, 7L, 6L,
3L, 3L, 3L, 3L, 6L, 5L, 7L, 6L, 4L, 6L, 6L, 6L, 5L, 5L, 3L, 8L,
5L, 4L, 3L, 5L, 4L, 5L, 6L, 3L, 4L, 5L, 4L, 7L, 6L), X5 = c(6L,
7L, 3L, 3L, 5L, 4L, 6L, 6L, 7L, 3L, 4L, 4L, 6L, 5L, 5L, 3L, 3L,
5L, 5L, 3L, 5L, 4L, 6L, 6L, 8L, 3L, 7L, 5L, 6L, 5L, 4L, 3L, 5L,
6L, 5L, 5L, 6L, 4L, 3L, 4L, 6L, 6L, 3L, 6L, 8L, 5L, 5L, 6L, 4L,
5L, 5L, 8L, 3L, 6L, 5L, 4L, 4L, 6L, 4L, 6L, 5L, 5L, 5L, 5L, 5L,
7L, 3L, 3L, 4L, 5L, 4L, 9L, 6L, 9L, 4L, 6L, 5L, 7L, 4L, 3L, 7L,
5L, 3L, 4L, 7L, 3L, 5L, 7L, 5L, 5L, 5L, 3L, 6L, 5L, 5L, 7L, 3L,
5L, 4L, 6L), X6 = c(4L, 6L, 3L, 5L, 5L, 4L, 3L, 7L, 4L, 7L, 3L,
7L, 6L, 5L, 4L, 4L, 5L, 5L, 5L, 6L, 5L, 6L, 4L, 5L, 7L, 5L, 3L,
3L, 4L, 4L, 4L, 6L, 3L, 7L, 4L, 5L, 5L, 3L, 1L, 4L, 4L, 2L, 7L,
6L, 5L, 6L, 3L, 6L, 5L, 3L, 2L, 7L, 4L, 5L, 4L, 7L, 2L, 2L, 5L,
4L, 6L, 4L, 7L, 2L, 7L, 6L, 4L, 4L, 6L, 6L, 4L, 8L, 5L, 5L, 4L,
5L, 5L, 3L, 7L, 4L, 5L, 6L, 4L, 5L, 2L, 3L, 5L, 3L, 8L, 2L, 4L,
4L, 4L, 3L, 7L, 5L, 8L, 3L, 4L, 5L), X7 = c(4L, 2L, 2L, 4L, 5L,
5L, 7L, 6L, 5L, 6L, 6L, 4L, 5L, 5L, 6L, 4L, 7L, 4L, 6L, 3L, 2L,
5L, 7L, 5L, 5L, 5L, 9L, 7L, 9L, 5L, 4L, 6L, 8L, 4L, 5L, 4L, 4L,
4L, 5L, 4L, 6L, 5L, 5L, 2L, 4L, 4L, 5L, 5L, 3L, 7L, 5L, 6L, 7L,
5L, 3L, 5L, 5L, 4L, 6L, 3L, 5L, 3L, 4L, 3L, 4L, 5L, 5L, 7L, 7L,
2L, 4L, 7L, 4L, 6L, 5L, 7L, 5L, 4L, 8L, 6L, 8L, 8L, 3L, 4L, 6L,
3L, 6L, 6L, 5L, 2L, 5L, 1L, 7L, 2L, 6L, 7L, 3L, 4L, 7L, 3L),
Y1 = c(1.51381660212862, 0.504478762772218, -2.65378574088482,
1.43068637272239, -1.47684324896984, 1.58472803945312, -0.0922193857071082,
-0.823622560562235, -1.64806412194411, 0.944309458265371,
-0.356936363717069, -0.162015258645447, 0.12477819226619,
-0.288471307345202, -1.18190619708113, -2.39292785982372,
0.851281094397896, 0.941804900216781, -0.285843452847721,
-0.637399290834473, 1.01562437034261, -0.762266388284812,
0.57482379687021, -1.35903991270023, 0.901967856080433, 0.29778523652812,
-0.00277763319220751, -0.231661006943, 1.17555880002615,
1.1776067492362, 1.2999024919628, 2.39038283158516, -0.650154555398476,
-0.953405711072244, 2.07296020843138, 0.186067377477045,
1.27493204613466, 0.233083651874369, -1.35590587652704, 1.08696059670825,
0.597820644193322, -1.19390157791241, -0.452467982110459,
-0.325648996612789, 0.0285958447740426, -0.550033308585066,
-0.541233659925362, 0.213664554548748, 0.0896115607405887,
-2.22657886242746, -0.835933260512375, -0.3410168395334,
0.50787381134198, 0.531258570313673, -0.40901169495662, -0.810128911311157,
-0.432058431678758, -0.10219858745039, -0.254360597321428,
-0.154028509912877, -0.154412368645572, -2.30203996365628,
1.46595811311111, -1.28869300561031, -1.21053214855949, -0.268363291058948,
0.683392481853822, -0.319669130901838, 0.645175024187205,
-0.411699887457752, -0.191809472206714, -0.862892281569729,
-0.496653266818923, -1.82777471788403, -0.316512824335762,
-1.92056252600781, 0.162658786066582, 2.80586044363066, -1.90191012546795,
-1.37325883300246, -0.293687705724852, -0.891121986533703,
0.236105127173931, 1.7496394242358, 1.30113476661601, -0.681215096624127,
1.19455442244611, 0.850906768469736, 0.555565335896252, -0.883430008481552,
0.824345772604795, 0.687913712610013, 1.33576821950678, -0.808845875084407,
-0.0994675295096023, -0.797674770999511, -1.7176681053504,
-0.312094291087325, 0.480884995744134, 0.3981995835995),
Y2 = c(-1.53285914020452, 1.29122978508191, 0.921606245351757,
-0.724085415151949, 0.573933753842347, -1.75990865905637,
-0.913661932893341, 0.843278144910845, -0.427945566890583,
-0.785931108082936, 0.18126807207226, -0.98233866170379,
-1.69942556383645, 0.161515532679225, -0.205045971136367,
-0.197708729131696, 0.761530789270692, -0.361650445168573,
-0.284077129912569, -1.4375454413273, -1.87641468387563,
-0.466142684630522, -1.32675782016916, 0.0766439433592152,
-0.345061291806643, 1.20492953816262, -0.498983588300403,
-0.39017069355203, -0.585536568506376, -0.268542109333508,
-0.304956745639016, 0.6672974421784, -1.33856731439226, 0.260863470997641,
-0.229908534712624, 1.87494902300616, -1.58721820502111,
-1.27757830338367, -0.164744698727624, 0.822502689857642,
0.487841959844427, -0.644277240904474, 0.0252163852645532,
-1.98028441396859, 0.303527219762318, 1.27316308828519, 0.0240727927001065,
-0.42804136638075, -1.20095767996442, -0.632935247840562,
1.3552165382172, -0.343889633450751, -0.62589000162234, 1.36744315735339,
-1.79969327521372, -0.31448607863348, 0.0738981401409877,
-0.699306260552063, -0.699259392290336, 0.312939740584129,
0.61517017083612, 0.159816208307784, -0.0454478235356775,
-0.84835290813545, 0.60453967324254, -0.933994665859771,
-0.122862888262648, 0.499170848210818, -1.04662060255234,
0.24416562707757, -0.239847908251422, 0.892507692301903,
1.52229141743761, -1.34797780685531, 0.720419062498517, 0.0347853939462854,
0.0636886378960745, 1.09832215170708, 0.526957518899046,
-0.0574283783582475, -0.293913833682497, -0.308886513025504,
-0.0843275557037345, -0.761732958784744, 1.20579213927605,
0.53737587291791, 0.669172456819161, 0.1720175113333, 0.207695456368839,
0.129107054181012, 1.22029130711617, -0.388441420234782,
-1.08556449077231, 0.612473701706874, 0.81564534791706, -1.32961150152966,
0.859407793312078, -0.412360608341253, -0.188597814992205,
0.605501867368945)), row.names = c(NA, -100L), class = "data.frame")