R语言 多元线性回归 研究年龄、身高、体重的关系

2023-11-15

  • 0-20岁数据分析
data <- read.table('e://kg.txt',
                   header = TRUE,
                   sep = '\t')
data <- data %>% as_tibble()
data %>% attach()
data %>% ggplot(aes(cm, kg))+ geom_line()
data %>% ggplot(aes(age,cm))+ geom_line()
data %>% ggplot(aes(age,kg))+ geom_line()

# age 与 height 与weight 关系:
data[1:3] %>% cor() %>% corrplot::corrplot(method = "color",
                                           addCoef.col = "grey")
lm_data <- data %>% lm(kg~I(cm^3),.)
lm_data %>% summary()
lm_data
plot(cm^3,kg,xaxt='n');
axis(1,at=cm^3,labels=cm);
abline(lm_data)

# ggplot拟合
data %>% ggplot(aes(cm^3,kg)) + 
  geom_point() + 
  geom_smooth()
  • 分性别数据分析
# https://zhuanlan.zhihu.com/p/94372177
# https://www.jianshu.com/p/a081a791ae03
# https://cloud.tencent.com/developer/article/1674211
# https://www3.nd.edu/~steve/computing_with_data/2_Motivation/motivate_ht_wt.html?spm=a2c4e.11153940.blogcont603256.20.333b1d6fYOsiOK
# 载入数据,数据集在这里下载:https://github.com/johnmyleswhite/ML_for_Hackers/blob/master/02-Exploration/data/01_heights_weights_genders.csv
library(tidyverse)
ht_weight_df <- read.table("e://01_heights_weights_genders.txt",
                           header = TRUE,
                           sep = "\t") %>% 
  as_tibble()
ht_weight_df %>% mice::md.pattern()

# 绘图查看相关性
ht_weight_df %>% select(-1) %>% 
  cor() %>% corrplot::corrplot(method = "color",
                               addCoef.col = "grey")
ht_weight_df %>% select(-1) %>% sample_frac(0.1) %>% 
  plot(cex = 0.1)

# 拟合检验线性相关
lm_ht_weight <- lm(Weight ~ Height, data = ht_weight_df)
lm_ht_weight %>% summary()
lm_ht_weight %>% abline()

# 分性别对照
ht_weight_df %>% group_by(Gender) %>% 
  dplyr::summarise( round( mean( Height)* 2.54))
  # subset(Gender == )也可选取组
  # fivenum() 不能[2]、select(2)
  # sapply()不能$变量、select(2)
  # psych::describe() 不能[2]
  # pastecs::stat.desc()、Hmisc::describe()、summary() 都可以
  # plyr::ddply(.(Gender), function(df) summary(df$Height))从原数据分组求值

# 查看分布
par(mfrow = c(1,1))
ht_weight_df %>% subset(Gender == "Male") %>% select(Height) %>% 
  unlist() %>% as.numeric() %>% 
  density() %>% plot(type = "h", col = 4, ann = FALSE) #  main被屏蔽
ht_weight_df %>% subset(Gender == "Female") %>% select(Height) %>% 
  unlist() %>% as.numeric() %>% 
  density() %>% lines(col = 2)
title(main = "Height By Gender")
abline(col = c(1, 2),
       lty = 3,
       v = c(
         mean(ht_weight_df %>% subset(Gender == "Male") %>% 
                select(Height) %>% unlist()),
         mean(ht_weight_df %>% subset(Gender == "Female") %>% 
                select(Height) %>% unlist())
         ))
ht_weight_df %>% ggplot(aes(x = Height, colour = Gender)) + 
  geom_density()
ht_weight_df %>% ggplot(aes(sample = Height)) + 
  geom_point(stat = "qq") + facet_wrap(~Gender) # stat_qq requires sample

# 分类数据线性拟合
ht_weight_df %>% ggplot(aes(x = Height, y = Weight, colour = Gender)) +
  geom_point(alpha = 0.2) + 
  geom_smooth(method = "lm", formula = y ~ x)
lm_ht_wt_by_gender <- lm(Weight ~ Height * Gender, data = ht_weight_df)
lm_ht_wt_by_gender %>% summary()
  • 如果观察人的一生,身高、体重的变化曲线,会是什么样的呢?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R语言 多元线性回归 研究年龄、身高、体重的关系 的相关文章

随机推荐

  • 断网重启路由器就好_路由器间断性的无网络,重启就恢复正常,可能是这些原因导致的!...

    说到 互联网 这一个词 相信大家对它再熟悉不过了 早在互联网刚出来的时候 人们就被它那强大的 引力 给吸引过去 直到现在 互联网已成为人们可以加以利用的一种 道具 了 现如今的我们可以通过网络来了解到一些国内外最新的热点资讯 可以通过网络来
  • 局域网抓包分析工具_巧用Wireshark抓包工具,分析底层网络协议,帮助排除网络故障...

    地址解析协议 ARP Address Resolution Protocol 1 ARP头 2 数据包分析 长度 8 位 字节 MAC 地址 48 位 即 6 字节 IP 地址 32 位 即 4 字节 3 无偿的 ARP 当 IP 地址改变
  • 如何使用PT对电路进行功耗分析

    首先声明本文所讲的范围 在这篇文章中 是采用synopsys的设计流程 对数字电路进行功耗分析 生成功耗分析报告的流程 分析的对象是逻辑综合之后布局布线之前的功耗分析 以及布局布线之后的功耗分析 Synopsys做功耗分析使用到的工具是 P
  • cobra golang好用的CLI工具

    Cobra 每个好的开源项目都会有很多好用的开源库的诞生 之前学openstack的时候就对openstack的oslo系列工具组用的非常多 现在学习k8s后发现同样在go下也有很多类似的开源库 比如Cobra 就是一个用来创建命令行的 g
  • 【Qt】信号和槽对值传递参数和引用传递参数的总结

    在同一个线程中 当信号和槽都在同一个线程中时 值传递参数和引用传递参数有区别 值传递会复制对象 测试时 打印传递前后的地址不同 引用传递不会复制对象 测试时 打印传递前后的地址相同 不在同一个线程中 当信号和槽不在同一个线程中时 分两种情况
  • java生成电子发票_C#/Java 动态生成电子发票

    电子发票是电商时代的产物 PDF发票是最常见的电子发票之一 在这篇文章中 我将给大家分享一个免费的动态生成PDF电子发票的C 方案 并在文章末尾附上Java解决方案 典型的发票包含客户和供应商的名称和地址 发票编号 购买物品的描述 付款金额
  • 简单聊聊2021年Android开发的现状和思考,看看这篇文章吧!

    前言 职场的金三银四跳槽季又来了 不同的是今年比往年 冷 一些 形式更加严峻一些 大家多多少少可能都听到或看到一些信息 就是好多公司在优化裁员 作为求职者来说 面试是一道坎 很多人会恐惧面试 即使是工作很多年的老鸟 可能仍存在面试的焦虑 这
  • U盘常见问题

    1 U盘文件名乱码 一 U盘文件名显示为乱码 如下图 二 解决办法 打开命令提示符 管理员 2 U盘占有空间却不显示文件的解决方法 电脑插入U盘后 显示U盘的使用空间情况 但是打开U盘后却发现里面什么也没有 一片空白 这种情况 大多是因为文
  • 清览云题库(第四、五章)代码

    对应教材为谭浩强 C语言程序设计 清览云题库又给出了其四 五章的课外习题 目录 第四章 第4章小练习1 1 比大小 第4章小练习1 2 求平方根 第4章小练习1 3 函数求解 第4章小练习1 4 计算成绩分数所在等级 第4章小练习1 5 按
  • 讲正确很容易,讲现实就很难

    对不起 本文开启付费 老规矩 付费满200 会在知识星球免费发布 但丑话说在前面 如果因故被删帖 则不会发布在知识星球
  • c++ 空间直线与平面夹角_几何:平面几何、立体几何、解析几何

    本篇内容在知识地图中的位置 参考文本 模块三 几何学 一切源自公理和逻辑 20 几何学 为什么是数学中最古老的分支 21 公理体系 系统理论从何而来 22 非欧几何 相对论的数学基础是什么 23 解析几何 用代数方法解决更难的几何题 24
  • Obsidian Day Planner插件 甘特图不显示进度条(方框)的解决方案

    找到 obsidian plugins obsidian day planner文件夹 打开其中的main js 找到minuteInterval item next 将其中的 mm 都替换成 m 修改后代码如下 重启obsidian即可看
  • Electron详解(一):基本介绍

    文章目录 一 electron简介 二 发展历史 三 electron优缺点 四 electron和Qt的对比 五 使用electron开发的实际案例 六 electron 的原理 一 electron简介 Electron 官网 http
  • Spring Boot Actuator未授权访问漏洞利用

    目录 一 前言 二 端点描述 三 漏洞发现 四 漏洞利用 五 安全措施 六 安全建议 一 前言 Actuator 是 Spring Boot 提供的服务监控和管理中间件 当 Spring Boot 应用程序运行时 它会自动将多个端点注册到路
  • Arduino舒适的开发环境搭建:vscode+arduino插件

    Arduino舒适的开发环境搭建 vscode arduino插件 文章目录 Arduino舒适的开发环境搭建 vscode arduino插件 1 在vscode的用户配置文件settings json中加入下面这些内容 用来对ardui
  • 在 Vue 3 中安装和使用 mavon-editor富文本编辑器

    在 Vue 3 中安装和使用 mavon editor富文本编辑器 在许多网站和应用程序中 富文本编辑器是一种常见的工具 它使用户能够以直观的方式创建和编辑文本内容 本文将向您介绍如何在 Vue 3 中安装和使用 mavon editor
  • Java练习代码(五)- 线程

    package Java2021 4 8 import sun util resources ms CalendarData ms MY Create with IntelliJ IDEA Description Auther HMW Da
  • C++ qsort 排序函数

    是C中的函数 需要添加 include
  • 经典卷积神经网络--AlexNet的详解

    一 AlexNet的概述 AlexNet由Geoffrey和他的学生Alex提出 并在2012年的ILSVRC竞赛中获得了第一名 Alexnet共有8层结构 前5层为卷积层 后三层为全连接层 AlexNet网络结构具有如下特点 1 Alex
  • R语言 多元线性回归 研究年龄、身高、体重的关系

    0 20岁数据分析 data lt read table e kg txt header TRUE sep t data lt data gt as tibble data gt attach data gt ggplot aes cm k