mamals.csv中记录了若干哺乳动物的体重(kg)、大脑质量(g)、最大寿命(年)和孕育期(日)
用代码回答:
1. 读取数据;
2. 体重最大、大脑最重、寿命最长和孕育期最长的动物分别是哪种?
3. 相对脑质量(大脑质量/体重)最大和最小的动物是哪种?
4. 在这些哺乳动物中,体重和大脑质量之间存在怎样的关系?
5. 在这些哺乳动物中,体重和相对脑质量存在怎样的关系?
6. 绘图表示4. 和 5. 中的关系[注1]
#題目一:读取数据
read.csv('D:/Rstudy/mammals.csv')
plants <- read.csv('D:/Rstudy/mammals.csv')
attach(plants)# 題目二:体重最大、大脑最重、寿命最长和孕育期最长的动物
plants[which.max(plants$body_weight),]
plants[which.max(plants$brain_weight),]
plants[which.max(plants$maximum_life),]
plants[which.max(plants$gestation_time),]# 題目三:相对脑质量(大脑质量/体重)最大和最小的动物
a <- plants$brain_weight
b <- plants$body_weight
relative <- a/b
c <- plants$Species
frame <- data.frame(c,relative)
frame[which.max(frame$relative),]
frame[which.min(frame$relative),]
# 題目四:在这些哺乳动物中,体重和大脑质量之间存在的关系
plot(body_weight,brain_weight)
cor.test(body_weight,brain_weight,method='pearson',use='complete.obs')
var.test(body_weight,brain_weight)# 題目五:在这些哺乳动物中,体重和相对脑质量存在的关系
cor.test(plants$body_weight,frame$relative,method='pearson',use='complete.obs')
var.test(plants$body_weight,frame$relative)# 題目六:绘图表示題四和題五中的关系
plot(body_weight,brain_weight)
plot(plants$body_weight,frame$relative)
7. 选做附加题:
在6. 中的两幅图里:
7.1 添加回归线;
7.2 标出每个动物的名字[注2];
7.3 将人类的点用一个显眼的标记标出;
7.4 你觉得图中人类的位置可能意味着什么?
注1: 不限制绘图所用的包,用基础绘图或者ggplot2包里的绘图或者其他第三方的包都可以。
注2: 常规的方式会导致一些离得比较近的点的名字重叠,不过这次的作业不会介意这一点; 但是如果你想要更好的视觉效果,可以考虑使用ggrepel包中geom_text_repel()函数。
library(ggcorrplot)
# 題目七:附加題
# 題目7.1:添加回归线
plot(body_weight,brain_weight)
abline(lm(brain_weight~body_weight))
plot(plants$body_weight,frame$relative)
abline(lm(frame$relative~plants$body_weight))