一文搞定R语言拟合p值、R方...

R:ggplot2拟合,我推荐geom_smooth绘制拟合和ggpmisc添加统计信息。

几行代码就可以搞定了,对新手非常友好。

线性拟合

library(tidyverse)
library(readxl)
library(ggplot2)
library(ggpmisc)

repeat1_rawgrassland <- 
  read_excel("D:/OneDrive/Untitled Folder/R/repeat1-rawgrassland.xlsx")
colnames(repeat1_rawgrassland)[5] <- 'EE'

# 线性拟合
repeat1_rawgrassland %>% 
  ggplot(aes(x=latitude, y=EE)) +
  geom_point(color='#4a86e8', size=5) +
  geom_smooth(method = 'lm') +
  stat_fit_deviations(formula = y ~ x, color = "skyblue") +
  stat_poly_eq(use_label(c("eq", "adj.R2", "p.value.label")),
    formula = y ~ x,  parse = TRUE,
      size = 5, #公式字体大小
      label.x = 0.05,  #位置 ,0-1之间的比例
      label.y = 0.95)

# 自行查看拟合
model <- lm(EE~latitude,data=repeat1_rawgrassland)
values <- summary(model)

image-20220925120435535

这是最简单的拟合方法,当然这张图还有很多优化的空间,如颜色、刻度等等。现在对代码进行说明:

  • sta_fit_deviations用于添加点与拟合线的连接直线,如不需要,可删去

  • stat_poly_eq第一个参数是所需的统计量,可以选择需要的值

  • label.xy都是相对于轴的大小,是百分比,不再是刻度值了

多项式拟合

# 多项式拟合
repeat1_rawgrassland %>% 
  ggplot(aes(x=latitude, y=EE)) +
  geom_point(color='#4a86e8', size=5) +
  geom_smooth(method = 'lm', formula = y ~ poly(x,3)) +
  stat_fit_deviations(formula = y ~ poly(x,3), color = "skyblue") +
  stat_poly_eq(use_label(c("eq", "adj.R2", "p.value.label")),
    formula = y ~ poly(x,3),  parse = TRUE,
      size = 5, #公式字体大小
      label.x = 0.05,  #位置 ,0-1之间的比例
      label.y = 0.95)

# 自行查看拟合
model <- lm(EE~poly(latitude, 3),data=repeat1_rawgrassland)
values <- summary(model)

image-20220925121211069

好了,我们已经明白了拟合的基本原理了,下面来看一张完备的图吧

image-20220925121309396

library(ggplot2)
library(tidyverse)
theme_set(theme_bw())  # pre-set the bw theme.
data("midwest", package = "ggplot2")
# midwest <- read.csv("http://goo.gl/G1K41K")  # bkup data source

# Scatterplot
ggplot(midwest, aes(x=area, y=poptotal)) + 
  geom_point(aes(col=state, size=popdensity)) + 
  geom_smooth(method="loess", se=F) + 
  xlim(c(0, 0.1)) + 
  ylim(c(0, 500000)) + 
  labs(subtitle="Area Vs Population", 
       y="Population", 
       x="Area", 
       title="Scatterplot", 
       caption = "Source: midwest")

references:

https://github.com/cran/ggpmisc

  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
LC滤波器是一种常见的电子滤波器,用于在电路滤除特定频率的信号。它由电感器和电容器组成,可以通过改变电感器和电容器的数来调节滤波器的频率响应。 LC滤波器的设计法可以分为两种:第一种是基于理论计算的法,第二种是基于实验测量的法。 基于理论计算的法: 1. 确定所需的截止频率和滤波器类型(低通、高通、带通或带阻)。 2. 根据所选滤波器类型,选择合适的电路拓扑结构。 3. 计算所需的电容和电感数。 4. 选择与所需数最为接近的标准数。 基于实验测量的法: 1. 搭建一个简单的滤波器电路。 2. 测量实际的截止频率。 3. 根据实际测量结果,调整电容和电感数,直到达到所需的截止频率。 无论是哪种法,计算所需的电容和电感数都需要用到一些公式。以下是一些常见的公式: 低通滤波器: 截止频率 f_c = 1 / (2 × π × L × C) 电感 L = 1 / (2 × π × f_c × C) 电容 C = 1 / (2 × π × f_c × L) 高通滤波器: 截止频率 f_c = 1 / (2 × π × R × C) 电容 C = 1 / (2 × π × f_c × R) 电阻 R = 1 / (2 × π × f_c × C) 带通滤波器: 心频率 f_0 = √(f_1 × f_2) 带宽 B = f_2 - f_1 电感 L = (B / (2 × π × f_0)) × (R / Q) 电容 C = Q / (2 × π × f_0 × R) 带阻滤波器: 心频率 f_0 = √(f_1 × f_2) 带宽 B = f_2 - f_1 电感 L = (B / (2 × π × f_0)) / (R × Q) 电容 C = 1 / (2 × π × f_0 × R × Q) 其,Q代表质量因数,可根据所需的带宽和心频率计算得出。 总的来说,LC滤波器的设计法并不复杂,只需要了解一些基本原理和公式即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

地学万事屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值