R studio 함수 생성 관련 질문(내공 200)

R studio 함수 생성 관련 질문(내공 200)

작성일 2023.05.31댓글 2건
    게시물 수정 , 삭제는 로그인 필요

안녕하세요. 학교에서 R studio(R 스튜디오) 수업을 듣고 있는 대학생입니다.
데이터 분석 프로젝트 과제를 맡았는데, 도저히 어떻게 해야할지 모르겠어서 질문 올립니다.. ㅠㅠㅠ

11.연령대에 따른 월급차이 :어떤 연령대 월급이 가장 많을까? 
(young:30세미만,middle:30-59세,old:60세 이상)

2.직업별 월급 차이 : 어떤 직업이 월급을 가장 많이 받을까?

3.성별직업빈도 : 성별로 어떤 직업이 가장 많을까?

4. 종교유무에 따른 이혼율 : 종교가 있는 사람들이 이혼을 덜 할까?

5. 지역별 연령대 비율 : 노년층이 많은 지역은 어디일까? (1번에서 사용한 연령범주 사용)


에 대한 소스코드랑 결과나 그래프를 보여줘야 하는데 알려주실 분 계신가요..?ㅠㅠㅠㅠ 내공 많이 드리도록 하겠습니다!!


#r studio #r studio download #r studio 설치 #r studio 사용법 #r studio 업데이트 #r studio cloud #r studio mac #r studio 한글 깨짐 #r studio 단축키 #r studio 최신 버전

profile_image 익명 작성일 -

안녕하세요! R Studio 함수 생성에 관한 질문이시군요. 연령대에 따른 월급차이를 분석하기 위해서는 다음과 같은 단계를 거칠 수 있습니다.

1. 데이터 불러오기: 분석에 필요한 데이터를 불러옵니다. 예를 들어, CSV 파일로 저장된 데이터를 불러올 수 있습니다.

2. 데이터 전처리: 데이터를 분석하기 전에 결측치나 이상치 등을 처리합니다. 이를 위해 R에서 제공하는 함수들을 사용할 수 있습니다.

3. 연령대 구분: 연령대를 구분하기 위해서는 나이 데이터를 이용해 연령대를 계산해야 합니다. 예를 들어, 20대, 30대, 40대 등으로 구분할 수 있습니다.

4. 그룹별 월급 평균 계산: 연령대별로 그룹을 나눈 후, 각 그룹의 월급 평균을 계산합니다. 이를 위해 R에서 제공하는 group_by()와 summarise() 함수를 사용할 수 있습니다.

5. 그룹별 월급 평균 시각화: 계산된 그룹별 월급 평균을 시각화합니다. 이를 위해 R에서 제공하는 ggplot2 패키지를 사용할 수 있습니다.

아래는 예시 코드입니다.

```{r}

# 데이터 불러오기

data <- read.csv('data.csv')

# 데이터 전처리

data <- na.omit(data) # 결측치 제거

# 연령대 구분

data$age_group <- cut(data$age, breaks = c(20, 30, 40, 50, 60, 70)) # 20대, 30대, 40대, 50대, 60대 이상으로 구분

# 그룹별 월급 평균 계산

library(dplyr)

result <- data %>%

group_by(age_group) %>%

summarise(avg_salary = mean(salary))

# 그룹별 월급 평균 시각화

library(ggplot2)

ggplot(result, aes(x = age_group, y = avg_salary)) +

geom_bar(stat = 'identity') +

labs(title = '연령대에 따른 월급차이', x = '연령대', y = '월급 평균')

```

이 코드를 참고하여 데이터와 분석 방법을 수정하면서 원하는 결과를 얻을 수 있을 것입니다.

profile_image 익명 작성일 -

안녕하세요

! 해당 분석을 위한 코드와 그래프를 제공해드리겠습니다.

사용한 데이터셋은 "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))

```

위 코드를 실행해보시면 각 분석에 대한 그래프와 결과를 얻으실 수 있어요.. 각 분석에서 사용된 변수와 함수 등에 대한 자세한 설명은 주석으로 달아두었으니 참고하시면 도움이 될 것입니다.

즐거운 하루 보내시고 답변확정 부탁드려용~~

관련 질문드립니다. (내공100)

... 위한 함수구문입니다. theta =( Math.acos(dx/r))*(dy... //txtFld변수를 생성하고 이 변수는 텍스트를 사용하는 변수임을 지정합니다. txtFld.x = 200;...

api 관련 질문이예요.

소스좀 보고 도움좀 주세요 api관련인데..... 그리는 함수를 만들라는데요.... int x=200, y=200; char r=0, g=0, b=255; bool bLButtonDown...

컴퓨터 관련(IT) 용어 20개 알려주세요

... (한 2~3줄?) 내공은 30드림니다... 되도록 빨리 올려주세요 추가질문,, 그리고 컴퓨터 용어랑 IT 용어랑... 지능과 관련된 일부 능력을 컴퓨터에 부여함으로써...

사고 원인 분석,추적방법요(내공40)

... 108 235 1,451 609 81 379 122 비은행 22 241 200 51 1,904 1,446 41 365 213 34 173 52 기 타* 1 10 0 8 20 15 11 100 69 2 0 - ※ 1. 자료:2002년도 국정감사자료. 2. 기타는 한국자산관리공사 등 관련...

컴퓨터이상체크 및 포맷하는법 좀...

... 내공은 팍팍 쏠게여^^ 안녕하세요~~ 저도... 도스모드 XP인스톨방법에 질문이 많아서 쉽게... [XP팁35] 시스템 등록 정보에 로고 추가하기 (XP의 경우 관련파일이...

C언어 관련하여 여러 문제에 대하여...

... "대답하면 내공 줄게" 하는 느낌으로 질문하시는... main함수의 스택이 생성될 때를 구분하기 위해서... cs ① 0 ② 1 ③ 10 ④ 999 [129번] 1 2 3 4 5 6 7 double a = 200;...