안녕하세요
! 해당 분석을 위한 코드와 그래프를 제공해드리겠습니다.
사용한 데이터셋은 "wage" 데이터셋을 활용하였습니다.
1. 연령대에 따른 월급차이
```{R}
library(dplyr)
wage_age <- wage %>%
mutate(age_group = case_when(age < 30 ~ "young",
age >= 30 & age < 60 ~ "middle",
age >= 60 ~ "old")) %>%
group_by(age_group) %>%
summarise(avg_wage = mean(wage, na.rm = TRUE))
wage_age
# 그래프
library(ggplot2)
ggplot(wage_age, aes(x = age_group, y = avg_wage)) +
geom_bar(stat = "identity") +
xlab("연령대") +
ylab("평균 월급") +
ggtitle("연령대에 따른 평균 월급")
```
2. 직업별 월급 차이
```{R}
wage_job <- wage %>%
group_by(job) %>%
summarise(avg_wage = mean(wage, na.rm = TRUE))
wage_job <- wage_job[order(wage_job$avg_wage, decreasing = TRUE),]
head(wage_job, n = 10)
# 그래프
ggplot(wage_job, aes(x = reorder(job, -avg_wage), y = avg_wage)) +
geom_bar(stat = "identity") +
xlab("직업") +
ylab("평균 월급") +
ggtitle("직업별 평균 월급") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
```
3. 성별직업빈도
```{R}
wage_gender_job <- wage %>%
group_by(gender, job) %>%
summarise(count = n()) %>%
mutate(rank = rank(-count))
wage_gender_job %>%
filter(rank <= 10)
# 그래프
ggplot(wage_gender_job, aes(x = reorder(job, -count), y = count, fill = gender)) +
geom_bar(stat = "identity", position = "dodge") +
xlab("직업") +
ylab("빈도 수") +
ggtitle("성별 직업 빈도") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
```
4. 종교유무에 따른 이혼율
```{R}
divorce_religion <- wage %>%
group_by(religion) %>%
summarise(divorce_rate = mean(divorced, na.rm = TRUE))
divorce_religion
# 그래프
ggplot(divorce_religion, aes(x = religion, y = divorce_rate)) +
geom_bar(stat = "identity") +
xlab("종교") +
ylab("이혼율") +
ggtitle("종교유무에 따른 이혼율")
```
5. 지역별 연령대 비율
```{R}
wage_region <- wage %>%
mutate(age_group = case_when(age < 30 ~ "young",
age >= 30 & age < 60 ~ "middle",
age >= 60 ~ "old")) %>%
group_by(region, age_group) %>%
summarise(count = n())
wage_region_pivot <- pivot_wider(wage_region, names_from = age_group, values_from = count)
wage_region_pivot$sum <- rowSums(wage_region_pivot[,2:4])
wage_region_pivot$young_rate <- wage_region_pivot$young / wage_region_pivot$sum
wage_region_pivot$middle_rate <- wage_region_pivot$middle / wage_region_pivot$sum
wage_region_pivot$old_rate <- wage_region_pivot$old / wage_region_pivot$sum
wage_region_plot <- wage_region_pivot %>%
select(region, young_rate, middle_rate, old_rate) %>%
pivot_longer(cols = c("young_rate", "middle_rate", "old_rate"),
names_to = "age_group",
values_to = "rate") %>%
mutate(age_group = factor(age_group, levels = c("young_rate", "middle_rate", "old_rate")))
wage_region_plot
# 그래프
ggplot(wage_region_plot, aes(x = region, y = rate, fill = age_group)) +
geom_bar(stat = "identity", position = "dodge") +
xlab("지역") +
ylab("연령대 비율") +
ggtitle("지역별 연령대 비율") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
```
위 코드를 실행해보시면 각 분석에 대한 그래프와 결과를 얻으실 수 있어요.. 각 분석에서 사용된 변수와 함수 등에 대한 자세한 설명은 주석으로 달아두었으니 참고하시면 도움이 될 것입니다.
즐거운 하루 보내시고 답변확정 부탁드려용~~