作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
测量显示一个信号,其形式类似于具有偏移量和因子的平方根函数。如何找到系数并在一个图中绘制原始数据和拟合曲线?
require(ggplot2)
require(nlmrt) # may be this will help later..?
# generate simulated measurement data
time <- seq(-10,20,0.2)
signal <- sqrt(time + 2) # generate sqrt signal; includes some NA
signal[is.na(signal)] <- 0 # set all NA to zero
signal <- signal + rnorm(length(time)) * 0.1 # add noise
df <- data.frame(x=time, y=signal)
# find coefficiants for y ~ b * sqrt(x - a)
# no idea how...
# plot raw data and fitted curve in one ggplot diagram
ggplot()+
geom_point(data=df, aes(x=x, y=y))
最佳答案
如果您知道切割点在哪里并且切割点之前的值为零:
sfun <- function(x,brk,a=1) {
ifelse(x<brk,0,suppressWarnings(a*sqrt(x-brk)))
}
suppressWarnings()
存在是因为
ifelse
对
x
的所有值都计算 if 和 else 情况,我们不希望出现关于取负数平方根的警告)
curve(sfun(x,1,1),from=0,to=10) ## test (not shown)
x <- seq(0,10,length=101)
set.seed(1)
y <- rnorm(length(x),sfun(x,1,1),sd=0.25)
DF <- data.frame(x,y)
-1
):
library("ggplot2")
theme_set(theme_bw())
ggplot(DF,aes(x,y))+geom_point()+
geom_smooth(method="lm",
formula=y~sfun(x,brk=1)-1)
ggsave("truncsqrt.png")
关于r - 如何使用非线性函数拟合数据并绘制数据并使用 ggplot() 拟合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17114009/
我有以下数字数组: var array = [5,9,12,19,23,24,31,44,49,62]; 我试图找出每一个是偶数和合数,奇数和合数,还是奇数和素数。我首先尝试找到偶数和合数: for
我是一名优秀的程序员,十分优秀!