1

I have this data:

Volumes<-structure(list(study_id = c(40, 40, 40, 40, 40, 44, 44, 44, 44, 
44, 49, 49, 49, 49, 49, 61, 61, 61, 61, 61, 66, 66, 66, 66, 66, 
67, 67, 67, 67, 67, 68, 68, 68, 68, 68, 84, 84, 84, 84, 84, 86, 
86, 86, 86, 86, 94, 94, 94, 94, 94, 95, 95, 95, 95, 95, 101, 
101, 101, 101, 101, 123, 123, 123, 123, 123, 126, 126, 126, 126, 
126, 131, 131, 131, 131, 131, 153, 153, 153, 153, 153, 154, 154, 
154, 154, 154, 155, 155, 155, 155, 155, 156, 156, 156, 156, 156, 
161, 161, 161, 161, 161, 166, 166, 166, 166, 166, 169, 169, 169, 
169, 169, 175, 175, 175, 175, 175, 179, 179, 179, 179, 179, 185, 
185, 185, 185, 185, 199, 199, 199, 199, 199, 203, 203, 203, 203, 
203, 207, 207, 207, 207, 207, 211, 211, 211, 211, 211, 217, 217, 
217, 217, 217, 221, 221, 221, 221, 221, 227, 227, 227, 227, 227, 
256, 256, 256, 256, 256, 257, 257, 257, 257, 257, 259, 259, 259, 
259, 259, 266, 266, 266, 266, 266, 275, 275, 275, 275, 275, 284, 
284, 284, 284, 284, 301, 301, 301, 301, 301, 306, 306, 306, 306, 
306, 307, 307, 307, 307, 307, 309, 309, 309, 309, 309, 313, 313, 
313, 313, 313, 320, 320, 320, 320, 320, 353, 353, 353, 353, 353, 
382, 382, 382, 382, 382, 392, 392, 392, 392, 392, 398, 398, 398, 
398, 398, 401, 401, 401, 401, 401, 402, 402, 402, 402, 402, 412, 
412, 412, 412, 412, 415, 415, 415, 415, 415, 428, 428, 428, 428, 
428, 431, 431, 431, 431, 431, 433, 433, 433, 433, 433, 434, 434, 
434, 434, 434, 436, 436, 436, 436, 436, 40, 44, 49, 61, 66, 67, 
68, 84, 86, 94, 95, 101, 123, 126, 131, 153, 154, 155, 156, 161, 
166, 169, 175, 179, 185, 199, 203, 207, 211, 217, 221, 227, 256, 
257, 259, 266, 275, 284, 301, 306, 307, 309, 313, 320, 353, 382, 
392, 398, 401, 402, 412, 415, 428, 431, 433, 434, 436), TimeBetweenScans = c(0.865160848733744, 
NA, NA, NA, NA, 0.309377138945927, 0.380561259411362, 0.596851471594798, 
NA, NA, 0.917180013689254, 1.80698151950719, NA, NA, NA, 0.284736481861739, 
NA, NA, NA, NA, 0.0191649555099247, NA, NA, NA, NA, 0.114989733059548, 
NA, NA, NA, NA, 0.082135523613963, 0.229979466119097, 1.27857631759069, 
2.26146475017112, NA, 1.76043805612594, 4.91170431211499, NA, 
NA, NA, 1.10609171800137, NA, NA, NA, NA, 0.109514031485284, 
0.605065023956194, 1.07871321013005, 1.34428473648186, NA, 0.468172484599589, 
0.876112251882272, 1.62628336755647, NA, NA, 0.139630390143737, 
0.621492128678987, 5.5523613963039, NA, NA, 1.22929500342231, 
NA, NA, NA, NA, 0.153319644079398, NA, NA, NA, NA, 0.284736481861739, 
NA, NA, NA, NA, 0.216290212183436, 2.70773442847365, 3.00342231348392, 
NA, NA, 0.317590691307324, NA, NA, NA, NA, 0.177960301163587, 
NA, NA, NA, NA, 0.106776180698152, 1.12525667351129, NA, NA, 
NA, 3.2662559890486, NA, NA, NA, NA, 0.388774811772758, NA, NA, 
NA, NA, 0.290212183436003, 0.591375770020534, 0.728268309377139, 
1.36071184120465, 1.57426420260096, 0.605065023956194, 1.29774127310062, 
2.17932922655715, NA, NA, 0.0492813141683778, NA, NA, NA, NA, 
0.0985626283367557, NA, NA, NA, NA, 0.342231348391513, NA, NA, 
NA, NA, 0.375085557837098, 1.01848049281314, 2.57631759069131, 
3.01711156741958, 3.35386721423682, 2.53798767967146, 2.75427789185489, 
NA, NA, NA, 0.172484599589322, 1.17453798767967, 1.45927446954141, 
1.5523613963039, 1.66187542778919, 0.427104722792608, 1.22381930184805, 
1.28678986995209, 3.29637234770705, 3.46611909650924, 0.0876112251882272, 
NA, NA, NA, NA, 1.12525667351129, NA, NA, NA, NA, 0.550308008213552, 
NA, NA, NA, NA, 0.438056125941136, NA, NA, NA, NA, 0.454483230663929, 
NA, NA, NA, NA, 1.25667351129363, NA, NA, NA, NA, 0.580424366872005, 
NA, NA, NA, NA, 0.136892539356605, 0.856947296372348, NA, NA, 
NA, 0.854209445585216, 1.45106091718001, 2.14373716632444, 4.30937713894593, 
NA, 4.45448323066393, 4.67077344284736, NA, NA, NA, 0.969199178644764, 
NA, NA, NA, NA, 0.0903490759753593, NA, NA, NA, NA, 0.16974674880219, 
0.355920602327173, NA, NA, NA, 2.30527036276523, NA, NA, NA, 
NA, 0.476386036960986, 0.82135523613963, NA, NA, NA, 0.591375770020534, 
0.722792607802875, NA, NA, NA, 0.0465434633812457, NA, NA, NA, 
NA, 0.58590006844627, 0.733744010951403, 1.06228610540726, NA, 
NA, 0.0657084188911704, NA, NA, NA, NA, 0.407939767282683, 1.04585900068446, 
NA, NA, NA, 0.197125256673511, NA, NA, NA, NA, 0.0246406570841889, 
0.10403832991102, NA, NA, NA, 0.0355920602327173, 0.37782340862423, 
NA, NA, NA, 0.114989733059548, NA, NA, NA, NA, 2.11088295687885, 
3.28542094455852, 4.13963039014374, NA, NA, 0.309377138945927, 
0.454483230663929, 0.492813141683778, NA, NA, 0.334017796030116, 
1.30047912388775, 1.75222450376454, NA, NA, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0), Volume = c(67.3833333333333, NA, 
NA, NA, NA, 87.1165644171779, 86.9325153374233, NA, NA, NA, 77.6822020644354, 
71.8486080700657, NA, NA, NA, 79.1399603775784, NA, NA, NA, NA, 
98.8751406074241, NA, NA, NA, NA, 97.0890874627674, NA, NA, NA, 
NA, 100.290979631426, 88.8069835111542, 46.6052376333657, 41.8428709990301, 
NA, 70.9095801937567, 55.7723358449946, NA, NA, NA, 87.8125822584891, 
NA, NA, NA, NA, 97.4208566108007, 77.9329608938548, 64.7299813780261, 
60.6145251396648, NA, 56.372806556688, 45.3924556057581, 27.3195334664285, 
NA, NA, 99.4376757263355, 93.3083411433927, 83.4114339268978, 
NA, NA, 63.9033942558747, NA, NA, NA, NA, 94.4827586206897, NA, 
NA, NA, NA, 71.6633793556871, NA, NA, NA, NA, 83.6526701997554, 
35.0285364859356, 31.5837749694252, NA, NA, 80.3697875688434, 
NA, NA, NA, NA, 80.56359776105, NA, NA, NA, NA, 92.4957301451751, 
11.6887275832622, NA, NA, NA, 89.3036964263785, NA, NA, NA, NA, 
86.3820888178128, NA, NA, NA, NA, 93.9080975901811, 85.9826373297411, 
87.187546774435, 75.0336775931747, 75.0336775931747, 73.0256962195614, 
73.9943495224001, 70.2677250100901, NA, NA, 92.9103154909606, 
NA, NA, NA, NA, 88.4427032321254, NA, NA, NA, NA, 92.757534862798, 
NA, NA, NA, NA, 96.0958904109589, 93.8470319634703, 93.7214611872146, 
84.8972602739726, 87.9908675799087, 24.5733366312144, 23.9549839228296, 
NA, NA, NA, 99.7716668321255, 75.3201628114762, 67.6362553360468, 
70.4854561699593, 62.9703166881763, 100, 93.8100686498856, 95.8047292143402, 
88.0434782608696, 86.6132723112128, 99.9516616314199, NA, NA, 
NA, NA, 68.5800171772116, NA, NA, NA, NA, 88.3899935856318, NA, 
NA, NA, NA, 99.230613484511, NA, NA, NA, NA, 64.42721791559, 
NA, NA, NA, NA, 47.633824670287, NA, NA, NA, NA, 51.924282311646, 
NA, NA, NA, NA, 99.7595340973135, 84.6139395077964, NA, NA, NA, 
92.6110557217237, 78.6861637310291, 78.5864628337211, 78.2098149994461, 
NA, 41.1966848595108, 32.969476450374, NA, NA, NA, 99.5062773310763, 
NA, NA, NA, NA, 97.8767997084017, NA, NA, NA, NA, 93.6280614362806, 
90.8260689082607, NA, NA, NA, 81.5339233038348, NA, NA, NA, NA, 
95.3373729074664, 83.5986443463079, NA, NA, NA, 86.6194917980058, 
70.2798327436475, NA, NA, NA, 92.9168778509883, NA, NA, NA, NA, 
40.9568874868559, 40.5625657202944, 39.3927444794953, NA, NA, 
100.79275198188, NA, NA, NA, NA, 77.2814107274063, 70.8302718589273, 
NA, NA, NA, 91.9201831861302, NA, NA, NA, NA, 98.0840088430361, 
96.997052321297, NA, NA, NA, 98.0585469437282, 73.4263612922797, 
NA, NA, NA, 98.4375, NA, NA, NA, NA, 70.1352003862868, 71.2216320618059, 
60.7194591984548, NA, NA, 99.4676446232107, NA, 96.5574352300958, 
NA, NA, 75.4953979426096, 74.1526800216567, 74.9323226854358, 
NA, NA, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 
100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 
100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 
100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 
100, 100, 100, 100, 100, 100, 100)), row.names = c(NA, -342L), class = c("tbl_df", 
"tbl", "data.frame"))

And using this code I make a graph:

Volumes %>% 
  ggplot(aes(x=TimeBetweenScans,y=Volume, group=study_id )) + 
  geom_point(size=3) + 
  geom_line(color="Black", linetype="dotted") + 
  labs(title = "Volume vs Time",y="Percent Volume compared to Initial Post op Scan",x="Years from Post-Op Scan to Follow Up Scan", color="Follow-up Scan")

That looks like this:

enter image description here

Each line on that graph is an individual patient's ("study_id" from the data) volume over time.

What I'd like to do is draw a line on it that shows the "average" line for each patient. Something like this:

enter image description here

When I try to do 'normal' line of best fit code like + geom_smooth() I get this mess:

enter image description here

I assume that has something to do with the grouping I did, any ideas?

Gregor Thomas
  • 136,190
  • 20
  • 167
  • 294
Joe Crozier
  • 944
  • 8
  • 20

1 Answers1

1

Add group = 1 to your geom_smooth layer. Then, for the purposes of geom_smooth, all the data will be treated as if it is one group.

Gregor Thomas
  • 136,190
  • 20
  • 167
  • 294