面向 SAS 用户的 R
Melinda Higgins, PhD
Research Professor/Senior Biostatistician Emory University
# 继续使用 davismod
davismod %>%
head(5)
sex weight height repwt repht bmi diffht difflow bmicat
1 M 77 182 77 180 23.24598 -2 FALSE 1. underwt/norm
2 F 58 161 51 159 22.37568 -2 FALSE 1. underwt/norm
3 F 53 161 54 158 20.44674 -3 TRUE 1. underwt/norm
4 M 68 177 70 175 21.70513 -2 FALSE 1. underwt/norm
5 F 59 157 59 155 23.93606 -2 FALSE 1. underwt/norm
# 获取 bmi 的汇总统计,关注最小值、最大值、中位数
davismod %>%
pull(bmi) %>%
summary()
Min. 1st Qu. Median Mean 3rd Qu. Max.
15.82 20.23 21.84 24.70 23.94 510.93
注意 Max. > 500
# 用 geom_dotplot() 绘制 bmi 点图
ggplot(davismod, aes(bmi)) +
geom_dotplot()

# 用 arrange() 排序,用 tail() 查看最后 6 行
davismod %>%
arrange(bmi) %>%
tail()
sex weight height repwt repht bmi diffht difflow bmicat
195 M 89 173 86 173 29.73704 0 FALSE 2. overwt
196 M 102 185 107 185 29.80278 0 FALSE 2. overwt
197 M 103 185 101 182 30.09496 -3 TRUE 3. obese
198 M 101 183 100 180 30.15916 -3 TRUE 3. obese
199 M 119 180 124 178 36.72840 -2 FALSE 3. obese
200 F 166 57 56 163 510.92644 106 FALSE 3. obese
# 带 y=x 参考线的散点图
ggplot(davismod,
aes(weight, height)) +
geom_point() +
geom_abline(intercept=0, slope=1)

# 用 dplyr 的 filter(),保留 bmi < 100 的观测
daviskeep <- davismod %>%
filter(bmi < 100)
# 查看最后 6 行
daviskeep %>%
arrange(bmi) %>%
tail()
sex weight height repwt repht bmi diffht difflow bmicat
194 F 75 162 75 158 28.57796 -4 TRUE 2. overwt
195 M 89 173 86 173 29.73704 0 FALSE 2. overwt
196 M 102 185 107 185 29.80278 0 FALSE 2. overwt
197 M 103 185 101 182 30.09496 -3 TRUE 3. obese
198 M 101 183 100 180 30.15916 -3 TRUE 3. obese
199 M 119 180 124 178 36.72840 -2 FALSE 3. obese
# 绘制 bmi 点图
ggplot(daviskeep, aes(bmi)) +
geom_dotplot()

假设:
length 是壳体最长尺寸height 和 diameter < lengthwholeWeight 为总重量wholeWeight
面向 SAS 用户的 R