r - 平滑曲线的导数
问题描述
观点 | 多伊 | |
---|---|---|
1 | 0.6917529 | 49 |
2 | 0.6917501 | 49 |
3 | 0.6917529 | 49 |
4 | 0.6917501 | 49 |
5 | 0.2857624 | 59 |
6 | 0.2857624 | 59 |
7 | 0.1809273 | 109 |
8 | 0.1808737 | 109 |
9 | 0.1809273 | 109 |
10 | 0.1808737 | 109 |
11 | 0.3589439 | 119 |
12 | 0.3588334 | 119 |
13 | 0.3589439 | 119 |
14 | 0.3588334 | 119 |
15 | 0.3589439 | 119 |
16 | 0.3588334 | 119 |
17 | 0.3362660 | 119 |
18 | 0.3365558 | 119 |
19 | 0.7751922 | 139 |
20 | 0.7751910 | 139 |
21 | 0.7751922 | 139 |
22 | 0.7751910 | 139 |
23 | 0.8126297 | 149 |
24 | 0.8126118 | 149 |
25 | 0.8126297 | 149 |
26 | 0.8126118 | 149 |
27 | 0.8251105 | 159 |
28 | 0.8251142 | 159 |
29 | 0.8251105 | 159 |
30 | 0.8251142 | 159 |
31 | 0.8403495 | 189 |
32 | 0.8403497 | 189 |
33 | 0.8403495 | 189 |
34 | 0.8403497 | 189 |
35 | 0.7746058 | 196 |
36 | 0.7746463 | 196 |
37 | 0.7746058 | 196 |
38 | 0.7746463 | 196 |
39 | 0.6160177 | 226 |
40 | 0.6160177 | 226 |
41 | 0.5651071 | 239 |
42 | 0.5651133 | 239 |
43 | 0.5651071 | 239 |
44 | 0.5651133 | 239 |
45 | 0.3736361 | 249 |
46 | 0.3736361 | 249 |
47 | 0.3366151 | 256 |
48 | 0.3365827 | 256 |
49 | 0.3366151 | 256 |
50 | 0.3365827 | 256 |
使用上述数据,我试图将 GAM 平滑曲线应用于点列,并在同一图上绘制平滑曲线的导数。我尝试了以下
ggplot(df, aes(doy)) +
geom_line(aes(y=point),col='blue') +
geom_smooth(aes(y=point),method = "gam", formula = y ~s(x,bs='cr'), size = 1, se = F, colour = "blue")
}
这让我只有平滑曲线,然后我尝试使用以下方法获取平滑曲线的值:
library(mgcv)
mod = gam(point~s(n=doy,bs='cr'),data=df)
df$fitted = fitted(mod)
但是我在获取和绘制导数时遇到了问题:
derivatives(mod)
# And
fderiv(mod)
# Lastly
first_diff = function(x,y){
vec=vector(length=length(x))
vec[1]=0
for (i in 2:length(x)){
vec[i]=(y[i]-y[i-1])/(x[i]-x[i-1])
}
return(vec)
}
我无法得出曲线的导数(点与一年中的一天的变化率)
解决方案
推荐阅读
- php - 尝试呈现内容时出现白页
- haskell - 使用 postgresql-simple 查询字符串的类型错误
- asp.net-mvc - Azure Active Directory 身份验证问题
- angular - 位置 437 的 JSON 中的意外标记 }
- python - 比较列表python列表的元素
- sql - 查找重叠的日期范围并从事实表中删除重复项
- ballerina - 如何在 Ballerina 中丰富 JSON 数组
- javascript - Angular - 无法解析服务的所有参数(?)
- java - java 转义字符串——用于 url
- angular - Angular 包创建和接受来自消费应用程序的依赖注入