視覺化一個量化變數

在 R 中分析問卷資料

Kelly McConville

Assistant Professor of Statistics

平均值表

out <- svyby(formula = ~DaysPhysHlthBad, by = ~SmokeNow, 
             design = NHANES_design, 
             FUN = svymean, na.rm = TRUE, 
             keep.names = FALSE)
out
  SmokeNow DaysPhysHlthBad        se
1       No        3.908984 0.1996290
2      Yes        4.951750 0.2346189
在 R 中分析問卷資料

長條圖

ggplot(data = out, mapping = aes(x = SmokeNow, y = DaysPhysHlthBad)) +
  geom_col() + 
  labs(y = "Monthly Average Number\n of Bad Health Days", 
       x = "Smoker?")

吸菸者與非吸菸者每月身體狀況不佳天數的長條圖

在 R 中分析問卷資料

含誤差棒的長條圖

含誤差棒的吸菸者與非吸菸者每月身體狀況不佳天數長條圖

在 R 中分析問卷資料

含誤差棒的長條圖

out <- mutate(out, lower = DaysPhysHlthBad - se, 
              upper = DaysPhysHlthBad + se)
out
  SmokeNow DaysPhysHlthBad        se    lower    upper
1       No        3.908984 0.1996290 3.709355 4.108613
2      Yes        4.951750 0.2346189 4.717131 5.186369
在 R 中分析問卷資料

含誤差棒的長條圖

ggplot(data = out, mapping = aes(x = SmokeNow, y = DaysPhysHlthBad, 
                                 ymin = lower, ymax = upper)) +
  geom_col(fill = "lightblue") + geom_errorbar(width = 0.5) + 
  labs(y = "Monthly Average Number\n of Bad Health Days", 
       x = "Smoker?")

含誤差棒的吸菸者與非吸菸者每月身體狀況不佳天數長條圖

在 R 中分析問卷資料

直方圖

ggplot(data = NHANESraw, mapping = aes(x = DaysPhysHlthBad, 
                                       weight = WTMEC4YR)) + 
  geom_histogram(binwidth = 1, color = "white") +
  labs(x = "Number of Bad Health Days in a Month")

每月身體狀況不佳天數的直方圖

在 R 中分析問卷資料

密度圖

NHANESraw %>%
filter(!is.na(DaysPhysHlthBad)) %>%
  mutate(WTMEC4YR_std = WTMEC4YR/sum(WTMEC4YR)) %>%
ggplot(mapping = aes(x = DaysPhysHlthBad, weight = WTMEC4YR_std)) + 
  geom_density(bw = 0.6,  fill = "lightblue") +
  labs(x = "Number of Bad Health Days in a Month")

每月身體狀況不佳天數的機率密度圖

在 R 中分析問卷資料

分面密度圖

NHANESraw %>%
    filter(!is.na(DaysPhysHlthBad), 
           !is.na(SmokeNow)) %>%
    group_by(SmokeNow) %>%
    mutate(WTMEC4YR_std = WTMEC4YR/sum(WTMEC4YR)) %>%
    ggplot(mapping = 
           aes(x = DaysPhysHlthBad, 
           weight = WTMEC4YR_std)) + 
  geom_density(bw = 0.6, fill = "lightblue") +
  labs(x = "Number of Bad Health Days in a Month") + 
  facet_wrap(~SmokeNow, labeller = "label_both")
在 R 中分析問卷資料

分面密度圖

吸菸者與非吸菸者每月身體狀況不佳天數的密度圖

在 R 中分析問卷資料

一起來練習吧!

在 R 中分析問卷資料

Preparing Video For Download...