資料品質與清理

給 SAS 使用者的 R

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

檢查分佈

# Continue with 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
給 SAS 使用者的 R

檢查分佈

# Get summary statistics for bmi, check min, max, median
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

給 SAS 使用者的 R

視覺化分佈

# Make bmi dotplot with geom_dotplot()
ggplot(davismod, aes(bmi)) +
  geom_dotplot()

bmi 的點圖

給 SAS 使用者的 R

找出離群值

# Sort data use arrange(), view last 6 rows with tail()
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
給 SAS 使用者的 R

視覺化假設:`weight <= height`

# Scatterplot with y=x reference line
ggplot(davismod,
       aes(weight, height)) +
  geom_point() +
  geom_abline(intercept=0, slope=1)

davismod 的身高對體重散佈圖

給 SAS 使用者的 R

過濾有誤的個案

# Use filter() from dplyr, keep cases for bmi < 100
daviskeep <- davismod %>%
  filter(bmi < 100)

# View last 6 rows
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
給 SAS 使用者的 R

視覺化修正後的 bmi

# Make dotplot of bmi
ggplot(daviskeep, aes(bmi)) +
  geom_dotplot()

daviskeep 的 bmi 點圖

給 SAS 使用者的 R

abalone 資料集的最後清理

  • 檢查 abalone 資料集的假設
  • 移除違反假設的個案
  • 定稿資料集以供分析與模型

ASSUMPTIONS:

  • 所有量測應為 > 0
  • length 為殼的最長邊
  • heightdiameter< length
  • wholeWeight 為總重量
  • 其他重量皆 < wholeWeight

鮑魚殼圖片

給 SAS 使用者的 R

一起來探索並清理 abalone 資料集

給 SAS 使用者的 R

Preparing Video For Download...