相关疑难解决方法(0)

如何在R中为我的数据拟合平滑曲线?

我试图绘制一条平滑的曲线R.我有以下简单的玩具数据:

> x
 [1]  1  2  3  4  5  6  7  8  9 10
> y
 [1]  2  4  6  8  7 12 14 16 18 20
Run Code Online (Sandbox Code Playgroud)

现在,当我使用标准命令绘制它时,它看起来很崎岖和前卫,当然:

> plot(x,y, type='l', lwd=2, col='red')
Run Code Online (Sandbox Code Playgroud)

如何使曲线平滑,以便使用估计值对3条边进行舍入?我知道有很多方法可以拟合平滑曲线,但我不确定哪种方法最适合这种类型的曲线以及如何编写它R.

plot r curve-fitting

78
推荐指数
7
解决办法
22万
查看次数

如何在R中的数据点上运行高通或低通滤波器?

我是R的初学者,我试图在没有找到任何内容的情况下找到有关以下内容的信息.

图中的绿色图由红色和黄色图组成.但是,假设我只有绿色图形的数据点.如何使用低通/高通滤波器提取低/高频率(即大约红/黄图)?

高频正弦曲线调制到低频窦曲线

更新:图表是使用生成的

number_of_cycles = 2
max_y = 40

x = 1:500
a = number_of_cycles * 2*pi/length(x)

y = max_y * sin(x*a)
noise1 = max_y * 1/10 * sin(x*a*10)

plot(x, y, type="l", col="red", ylim=range(-1.5*max_y,1.5*max_y,5))
points(x, y + noise1, col="green", pch=20)
points(x, noise1, col="yellow", pch=20)
Run Code Online (Sandbox Code Playgroud)

更新2:使用signal包中的Butterworth过滤器建议我得到以下内容:

添加了过滤图表的原始图片

library(signal)

bf <- butter(2, 1/50, type="low")
b <- filter(bf, y+noise1)
points(x, b, col="black", pch=20)

bf <- butter(2, 1/25, type="high")
b <- filter(bf, y+noise1)
points(x, b, col="black", pch=20) …
Run Code Online (Sandbox Code Playgroud)

signal-processing r frequency-analysis

37
推荐指数
4
解决办法
4万
查看次数

R中的拟合优度函数

您在R中使用哪些函数来拟合数据曲线并测试曲线的拟合程度?什么结果被认为是好的?

statistics r curve-fitting

23
推荐指数
4
解决办法
2万
查看次数