立即打开
悬赏 20 个论坛币 未解决
本人想做一个类似图1的图,我的数据就一个变量(distance1),有一个随机效应变量(year),想看的是sum1~ distance1 的一个关系,部分数据如下:
| id | year | distance1 | sum1 | sum |
1 | 2006 | 183.21 | 5148 | 3.711723 |
2 | 2006 | 442 | 1360 | 3.133858 |
3 | 2006 | 187.33 | 11455 | 4.059033 |
4 | 2006 | 795.74 | 287 | 2.459392 |
5 | 2006 | 684.69 | 1485 | 3.172019 |
6 | 2006 | 552.89 | 2382 | 3.377124 |
7 | 2006 | 813.09 | 553 | 2.74351 |
8 | 2006 | 525.11 | 53149 | 4.725503 |
9 | 2006 | 510.27 | 29680 | 4.472479 |
10 | 2006 | 806.29 | 201 | 2.305351 |
11 | 2006 | 728.41 | 207 | 2.318063 |
12 | 2006 | 770.91 | 42170 | 4.625014 |
13 | 2006 | 766.86 | 11507 | 4.061 |
14 | 2006 | 987.29 | 563 | 2.751279 |
15 | 2006 | 1250.55 | 703 | 2.847573 |
16 | 2006 | 1369.28 | 6 | 0.845098 |
17 | 2006 | 1246.47 | 4551 | 3.658202 |
18 | 2006 | 1157.04 | 2032 | 3.308137 |
19 | 2006 | 1178.97 | 5850 | 3.76723 |
20 | 2006 | 1435.69 | 49 | 1.69897 |
21 | 2006 | 1264.55 | 1392 | 3.143951 |
22 | 2006 | 1358.17 | 172 | 2.238046 |
23 | 2006 | 1579.72 | 216 | 2.33646 |
24 | 2006 | 1561.39 | 119 | 2.079181 |
25 | 2006 | 1509.79 | 0 | 0 |
26 | 2006 | 1563.55 | 52 | 1.724276 |
27 | 2006 | 1456.39 | 57 | 1.763428 |
28 | 2006 | 1472.95 | 161 | 2.209515 |
29 | 2006 | 1398.46 | 1920 | 3.283527 |
30 | 2006 | 1632.7 | 8 | 0.954243 |
31 | 2006 | 1590.86 | 3 | 0.60206 |
32 | 2006 | 902.86 | 705 | 2.848805 |
33 | 2006 | 902.35 | 90 | 1.959041 |
34 | 2007 | 442 | 38 | 1.591065 |
35 | 2007 | 187.33 | 4061 | 3.60874 |
36 | 2007 | 183.21 | 5148 | 3.711723 |
37 | 2007 | 525.11 | 3067 | 3.486855 |
38 | 2007 | 795.74 | 118 | 2.075547 |
39 | 2007 | 684.69 | 741 | 2.870404 |
40 | 2007 | 576.22 | 56 | 1.755875 |
41 | 2007 | 813.09 | 420 | 2.624282 |
42 | 2007 | 510.27 | 67498 | 4.829297 |
43 | 2007 | 551.74 | 921 | 2.964731 |
44 | 2007 | 552.89 | 0 | 0 |
45 | 2007 | 806.29 | 1086 | 3.03623 |
46 | 2007 | 770.91 | 104824 | 5.020465 |
47 | 2007 | 987.29 | 6 | 0.845098 |
48 | 2007 | 0.99 | 6892 | 3.838408 |
49 | 2007 | 1435.69 | 0 | 0 |
50 | 2007 | 1369.28 | 792 | 2.899273 |
51 | 2007 | 1246.47 | 4009 | 3.603144 |
52 | 2007 | 1250.55 | 8568 | 3.93293 |
53 | 2007 | 1157.04 | 327 | 2.515874 |
54 | 2007 | 1178.97 | 542 | 2.7348 |
55 | 2007 | 1358.17 | 340 | 2.532754 |
56 | 2007 | 1579.72 | 102 | 2.012837 |
57 | 2007 | 1561.39 | 114 | 2.060698 |
58 | 2007 | 1509.79 | 619 | 2.792392 |
59 | 2007 | 1632.7 | 735 | 2.866878 |
60 | 2007 | 1590.86 | 74 | 1.875061 |
61 | 2007 | 1442.58 | 357 | 2.553883 |
62 | 2007 | 1251.58 | 98 | 1.995635 |
63 | 2007 | 1456.39 | 36 | 1.568202 |
64 | 2007 | 1472.95 | 120 | 2.082785 |
65 | 2007 | 902.86 | 48 | 1.690196 |
66 | 2007 | 902.35 | 0 | 0 |
67 | 2008 | 183.21 | 3596 | 3.55594 |
68 | 2008 | 442 | 1040 | 3.017451 |
69 | 2008 | 187.33 | 17585 | 4.245167 |
70 | 2008 | 795.74 | 1131 | 3.053846 |
71 | 2008 | 684.69 | 734 | 2.866287 |
72 | 2008 | 510.27 | 24588 | 4.390741 |
73 | 2008 | 576.22 | 70 | 1.851258 |
74 | 2008 | 525.11 | 2545 | 3.405858 |
75 | 2008 | 552.89 | 129 | 2.113943 |
76 | 2008 | 806.29 | 512 | 2.710117 |
77 | 2008 | 813.09 | 172 | 2.238046 |
78 | 2008 | 728.41 | 1524 | 3.18327 |
79 | 2008 | 770.91 | 29491 | 4.469704 |
80 | 2008 | 900.81 | 369 | 2.568202 |
图1有个代码,我不太会改,对lattice包中的panel函数不太清楚怎么弄,所以请教各位大神,可以怎么改,能做出类似的图来
附上图1的代码和数据
图1 的代码
MyData <- expand.grid(Time = seq(1,4,length = 10),
Treatment = levels(KW$Treatment))
Z <- model.matrix(~Time + Treatment, data = MyData)
MyData$eta <- Z %*% Betas
MyData$mu <- exp(MyData$eta)
xyplot(Dandelion ~ Time | Treatment,
xlab = list("Time (days)", cex = 1.5),
ylab = list("Number of dandelion pollen grains", cex = 1.5),
data = KW, layout = c(3,1),
type = "p", col = 1,
strip = strip.custom(bg = 'white',
par.strip.text = list(cex = 1.2)),
scales = list(alternating = T,
x = list(relation = "same"),
y = list(relation = "same")),
panel = function(x,y, subscripts,...){
ID <- KW$Treatment[subscripts][1]
x1 <- MyData[MyData$Treatment == ID,"Time"]
y1 <- MyData[MyData$Treatment == ID,"mu"]
panel.lines(x1,y1, lwd = 5, col =1)
panel.points(x,y, pch = 16, col = 1)
xx1 <- KW$Time[subscripts]
yy1 <- mu[subscripts]
Hives <- KW$Hive[subscripts]
NH <- unique(Hives)
for (i in 1:4){
panel.lines(xx1[Hives==NH],
yy1[Hives==NH],
lwd = 1, col = 1)
}}
)
p.s. 代码中Betas 、eta有一个很长的代码计算。。。就没放了。。。主要想知道后面xyplot那块针对我自己的数据可以怎么改。。。。
图1的数据:
Time Hive Treatment Dandelion
1 1 Syrup 236
2 1 Syrup 167
3 1 Syrup 227
4 1 Syrup 225
1 2 Syrup 306
2 2 Syrup 308
3 2 Syrup 241
4 2 Syrup 304
1 3 Syrup 36
2 3 Syrup 10
3 3 Syrup 2
4 3 Syrup 19
1 4 Syrup 249
2 4 Syrup 208
3 4 Syrup 66
4 4 Syrup 43
1 5 Syrup 139
2 5 Syrup 145
3 5 Syrup 146
4 5 Syrup 110
1 6 Protein 347
2 6 Protein 140
3 6 Protein 153
4 6 Protein 38
1 7 Protein 129
2 7 Protein 43
3 7 Protein 42
4 7 Protein 39
1 8 Protein 35
2 8 Protein 89
3 8 Protein 100
4 8 Protein 27
1 9 Protein 111
2 9 Protein 87
3 9 Protein 48
4 9 Protein 25
1 10 Protein 98
2 10 Protein 76
3 10 Protein 27
4 10 Protein 59
1 11 Control 32
2 11 Control 50
3 11 Control 9
4 11 Control 31
1 12 Control 13
2 12 Control 1
3 12 Control 0
4 12 Control 6
1 13 Control 230
2 13 Control 222
3 13 Control 227
4 13 Control 225
1 14 Control 31
2 14 Control 51
3 14 Control 11
4 14 Control 29
1 15 Control 11
2 15 Control 2
3 15 Control 1
4 15 Control 7
拜托了!!!!万分感谢!!!!
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
栏目导航
热门文章
推荐文章
扫码加好友,拉您进群