Построение средней линии из точек с помощью ggplot2 - PullRequest
2 голосов
/ 10 марта 2020

Я использую ggplot2 и пытаюсь сгенерировать график с этими данными:

df <- data.frame(d2 = c(0.434807065, 1.491963542, 2.487084967, 
3.490281879, 4.512679389, 5.489912088, 6.482438462, 11.52519565, 
12.47054118, 13.52702083, 19.50642857, 20.5177013, 21.51826389, 
22.54810959, 23.46550794, 31.40644828, 32.49914634, 33.55090909, 
34.503, 35.50132353, 36.50790476, 37.47345614, 38.52133871, 45.54735714, 
63.48311765, 64.46831507, 65.53265625, 66.50101852, 67.5352, 
68.51515909, 69.43929032, 70.50149231, 71.49771014, 72.46085, 
85.53117647, 86.50469643, 87.52222414, 95.4699375, 96.40531373, 
97.49846939, 98.49083929, 99.54711667), r2 = c(0.422357404, 0.326000446, 
0.278657834, 0.254983644, 0.229324352, 0.226837637, 0.217724913, 
0.154661071, 0.177277118, 0.190188836, 0.143447153, 0.13373346, 
0.149803276, 0.162232609, 0.156299323, 0.12238975, 0.145403631, 
0.109111789, 0.109535328, 0.116133886, 0.096071516, 0.144485809, 
0.125137029, 0.079673604, 0.144097336, 0.135549079, 0.118663627, 
0.078433875, 0.080108577, 0.118217487, 0.113926192, 0.132128489, 
0.070675514, 0.073528065, 0.071042012, 0.090726084, 0.086466824, 
0.102876528, 0.089745943, 0.051031008, 0.098701098, 0.09394154))

Используя этот код:

ggplot(df,aes(x=d2, y = r2)) +
  geom_point() + geom_line()

Но мне нужна средняя линия, которая выглядит примерно так: (Я нарисовал красную линию в краске самостоятельно)

enter image description here

Но я хочу знать, есть ли какой-нибудь код, который может сделать что.

Ребята, мастера ggplot, пожалуйста, помогите мне?

Заранее спасибо!

1 Ответ

3 голосов
/ 10 марта 2020

Я думаю, что вы ищете geom_smooth:

ggplot(df,aes(x = d2, y = r2)) + 
  geom_point() + 
  geom_smooth(size = 2, col = "red", se = FALSE)

enter image description here

...