r - 如何在ggplot的回归线图上添加某些圆圈
问题描述
图片上的线是加权最小二乘趋势线,我打算用ggplot来画。
圆心的纵坐标是Y轴值(“CHD的HR……”);
我们可以在图中看到十个不同的圆圈,因为有十个不同的“HR”值,并且每组数据点都有相同的 Y 值(总共 10 组数据点)。
【对不起,我刚才犯了一个错误!也许圆心的横坐标是一组数据点的X值的平均值?】</p>
3.圆的大小取决于样本的大小。
df <- data.frame(y=c(1, 1, 2, 2, 2, 3, 4, 4, 4, 4, 5, 5, 6, 6, 7, 8),
x=c(48, 78, 72, 70, 66, 92, 93, 75, 75, 80, 95, 97, 90, 96, 99, 99))
只需使用这些数据进行测试。我已经知道如何在 ggplot 中绘制加权最小二乘趋势线,但是如何添加 8 个圆圈(测试数据中有 8 个不同的“y”值)。
解决方案
您可以在原始图上添加第二个图。
假设您有第三个变量名为samp
. 您将使用geom_point
并将size
美学设置为等于样本大小。
我不确定您将如何输入 WLS 预测的数据,但要添加您要添加的圆圈:
library(ggplot2)
df <- data.frame(y=c(1, 1, 2, 2, 2, 3, 4, 4, 4, 4, 5, 5, 6, 6, 7, 8),
x=c(48, 78, 72, 70, 66, 92, 93, 75, 75, 80, 95, 97, 90, 96, 99, 99)
)
df <- df %>%
group_by(y) %>%
add_count() %>%
summarise(across(everything(), mean))
ggplot(df, aes(x = x, y = y, size = n)) +
geom_point(shape = 21) +
geom_smooth(method = "lm", mapping = aes(weight = n),
color = "red")
推荐阅读
- javascript - 如何在 if 语句中包装 useState 变量,但在 if reactjs 之外仍然可以使用它的值
- django - 使用 S3 更新 FilesField() django
- three.js - three.js 3d 模态模糊
- c++ - 链接器不喜欢我的函数定义(LNK2019 Unresolved External Symbol)
- typeclass - Ord:未找到 Data.Eq.Eq(扩展 a0)的类型类实例。PureScript by Example 一书,第 6 章
- python - 在 Python 中绘制测试值和预测值的折线图
- ruby-on-rails - 缺少用于解密文件的加密密钥:Rails 开发环境
- c - 如何获得单词中出现频率最高的字母?
- r - 使用 R 和 jsonlite 遍历 JSON 元素以修复缺失值
- javascript - 当我只发送一次时,为什么会有 2 次 POST 执行?Vue 3 组合 API,Django REST JWT