如何在R中的ggplot2中绘制geom_smooth中的指数衰减? 资料 我想要达到的目标

如何在R中的ggplot2中绘制geom_smooth中的指数衰减? 资料 我想要达到的目标,r,ggplot2,exponential,R,Ggplot2,Exponential,我将“sd.speed/m.speed”作为因变量,“m.gapdist”作为解释变量。当我做散点图时,趋势似乎是指数衰减。所以我想得到汇总统计数据以及数据点上的拟合图。我使用了以下代码: > dput(new.gapdata.cc) structure(list(gap.interval = structure(c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L,

我将“sd.speed/m.speed”作为因变量,“m.gapdist”作为解释变量。当我做散点图时,趋势似乎是指数衰减。所以我想得到汇总统计数据以及数据点上的拟合图。我使用了以下代码:

> dput(new.gapdata.cc)
structure(list(gap.interval = structure(c(1L, 2L, 3L, 4L, 5L, 
6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 
19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 34L
), .Label = c("[0.0568,10.1]", "(10.1,20.1]", "(20.1,30.1]", 
"(30.1,40.1]", "(40.1,50.1]", "(50.1,60.1]", "(60.1,70.1]", "(70.1,80.1]", 
"(80.1,90.1]", "(90.1,100]", "(100,110]", "(110,120]", "(120,130]", 
"(130,140]", "(140,150]", "(150,160]", "(160,170]", "(170,180]", 
"(180,190]", "(190,200]", "(200,210]", "(210,220]", "(220,230]", 
"(230,240]", "(240,250]", "(250,260]", "(260,270]", "(270,280]", 
"(280,290]", "(290,300]", "(300,310]", "(310,320]", "(320,330]", 
"(330,340]", "(340,350]", "(350,360]", "(360,370]", "(370,380]", 
"(380,390]", "(390,400]", "(400,410]", "(410,420]", "(420,430]", 
"(430,440]", "(440,450]", "(450,460]", "(460,470]", "(470,480]", 
"(480,490]", "(490,500]", "(500,510]", "(510,520]", "(520,530]", 
"(530,540]", "(540,550]", "(550,560]", "(560,570]", "(570,580]", 
"(580,590]", "(590,600]", "(600,610]", "(610,620]", "(620,630]", 
"(630,640]", "(640,650]", "(650,660]", "(660,670]", "(670,680]", 
"(680,690]", "(690,700]", "(700,710]", "(710,720]", "(720,730]", 
"(730,740]", "(740,750]"), class = "factor"), Vehicle.class = structure(c(1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("Car following", 
"Heavy-Vehicle following"), class = "factor"), PrecVehClass = structure(c(1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("Car", 
"Heavy-Vehicle"), class = "factor"), sd.speed = c(8.10631184218832, 
11.4437550056097, 11.8038327709683, 10.8543703246156, 9.99720748006444, 
9.44865875583687, 8.96606665646703, 8.49351869704553, 7.93669264490773, 
8.13551032227591, 7.84202528436342, 8.0475744381228, 7.91648183675322, 
7.43125313026708, 7.35410275703108, 7.60500908370333, 7.0498555301719, 
7.55232413932399, 8.06598948864824, 6.76873032867712, 9.5638441069889, 
8.04863015016668, 6.3210319215341, 4.64833690603376, 6.62719482422681, 
6.64056528224281, 4.73744287133819, 7.47515815690314, 7.69289983159388, 
0.306328206216196, 0.686563613792699), m.speed = c(7.49142882761648, 
14.9015932672865, 23.2183766318976, 29.4281833927603, 33.2698195905316, 
35.8151829762138, 37.5490804914733, 38.5477371278585, 39.3540677299243, 
40.6919294171912, 41.1003756008852, 41.8182626555034, 43.0467747414578, 
42.8363357874289, 43.4938190765401, 43.3542212600658, 45.4415004558705, 
46.0292158248193, 45.2411112123218, 45.3142872888847, 45.8483490730252, 
44.9081708678314, 48.91998889291, 47.3070826500395, 47.6670737425671, 
46.3952054632908, 43.9972157634013, 51.2984320152685, 60.9675201903266, 
44.7204961417801, 49.3765339447783), m.gapdist = c(7.7653843749647, 
16.1638754974281, 25.4776617248361, 35.2445820779774, 44.9431006950918, 
54.8030747287456, 64.7488740187079, 74.7493853439047, 84.7618392182203, 
94.6265821702835, 104.858371321352, 114.633780836178, 124.562176064196, 
134.473095135859, 144.806940411055, 154.554692908294, 164.982952591097, 
174.906212522406, 185.553895860064, 194.461299821333, 204.825162321106, 
215.128853160835, 225.333436194581, 235.137188240688, 244.880475531984, 
255.160919142993, 264.314402521448, 274.575498681999, 285.224335149303, 
293.119840359603, 337.618758706201)), .Names = c("gap.interval", 
"Vehicle.class", "PrecVehClass", "sd.speed", "m.speed", "m.gapdist"
), row.names = c(3L, 8L, 13L, 18L, 24L, 31L, 37L, 43L, 49L, 55L, 
61L, 66L, 71L, 76L, 81L, 85L, 88L, 91L, 94L, 96L, 98L, 100L, 
102L, 105L, 107L, 109L, 112L, 114L, 116L, 118L, 121L), class = "data.frame")
问题:
这不会在点上绘制指数衰减曲线。如何在点上拟合曲线?

您搜索过吗?如果我使用
formula=y~I(log(x)
,是否有助于我的身体健康。
ggplot() + 
  geom_point(data=new.gapdata.cc, 
             aes(y=sd.speed/m.speed, x=m.gapdist, shape=interaction(Vehicle.class,PrecVehClass)), 
             size=3) +
  geom_smooth(data=new.gapdata.cc,
              mapping = aes(y= sd.speed/m.speed, x=m.gapdist, 
                            linetype=interaction(Vehicle.class,PrecVehClass)), method="lm", formula = log(y) ~ x,
              se=F, size=1, color="black")