본문 바로가기
비트 장기/R

9/5

by woohyun22 2018. 9. 5.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
40. geom_line() : 시간에 따라서, 데이터가 변경된다고 해서 시계열 그래프라고한다.
 
#ex1. 임의의 데이터를 이용하여 시계열 그래프 그리기
<- c(12345678910)
<- sample(1:100,10, replace = T)
df <- data.frame(a, b)
 
ggplot(df, aes(x =a, y =b))+
  geom_line()
 
#ex2. 경제지표(economics)를 이용하여 시계열 그래프 그리기
head(economics)
#시간과 실업자수를 이용하기
ggplot(economics, aes(x=date, y=unemploy))+
  geom_line()
 
# #가상시물레이션 하기전에 알아야될 사항
# a <- c(100);a
# a[1]
# a[1]<-99
# a[1]
# a[2]<-88; a #이렇게 배열에 넣게되면 한개가 자동으로 추가된다.
# sample(-5:5,1,replace = T)
# # R에서도 반복문을 쓸수 있는가?
# for (i in 1:10) {
#   print(i)
# }
# a <- c(1000)
# for (i in 1:99) {
#   a[i+1]=a[i]+sample(-1:1,1,replace = T)
# }
# b <- c(1:100);b
# df<-data.frame(b, a);df
# ggplot(df,aes(x=b,y=a))+
#   geom_line()
 
#ex3. 가상시뮬레이션 데이터를 만들어서 시계열 그래프 그리기
#직장인의 성별에 따른 남녀간의 월급이 차이가 있는지 없는지 그래프로 나타내시오
 
<- c(0,0,1,0,0,1,1,0,1,1)#성별 0 :여성, 1:남성
<- c(200,240,299,220,236,285,210,206,275,264)#월급
df <- data.frame(a,b)
df1<-df %>
  group_by(a) %>
  summarise(bsum=sum(b),bmean=mean(b))
df1<-df1 %>% mutate(a1=ifelse(a==0,'여성','남성'));df1
 
ggplot(df1, aes(x=a1,y=bmean))+
  geom_bar(stat = "identity")
cs


나이대 별 월급 차이 막대그래프 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#install.packages("dplyr")#데이터 가공에 유용한 패키지
library("ggplot2")
library("dplyr")
a<-sample(20:80,1000, replace =T);a#나이
b<-sample(100:500,1000, replace=T);b#월급
#80살까지 나이별 
#나이대별로 월급의 차이를 보여주라급 막대그래프
#20대30,40,50대의 월급을 막대그래프로로 21~29 평균월그
df<-data.frame(a,b)
 
df1<-df %>%mutate(a1=ifelse(a<30,"20대",
                          ifelse(a<40,"30대",
                               ifelse(a<50,"40대",
                                    ifelse(a<60,"50대",
                                           ifelse(a<70,"60대",
                                                  ifelse(a<80,"70대","80대")))))));df1  
  
df1<-df1 %>
  group_by(a1) %>
  summarise(bmean=mean(b));df1
 
ggplot(df1, aes(x =a1, y =bmean,group=1))+#group=1을 넣어줘야 line에서 string형을 그대로 넣어주기 위해 필요하다.
   geom_line()
#group    필드     통계  시각화 
 
#반별     수학의   평균  그래프를 그린다.
#성별     수면시간 평균  그래프를 그린다.
#야구팀별 타율     평균  그래프를 그린다.
#차종별   연비     합    그래프를 그린다.
#나이대별 월급     평균  그래프를 그린다.
 
 
cs


economics를 활용한 년대별 실업자수 그래프, substr을 활용한 문자열상에서 int형 뽑아내기 +형변환


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#install.packages("dplyr")#데이터 가공에 유용한 패키지
library("ggplot2")
library("dplyr")
#70년대의 실업률 합, 80년대의 실업률 합,90년대의 실업률 합,
 
 
string<-substr(economics$date,start=3,stop=4)
a<-as.integer(string);a
b<-c(economics$unemploy)
 
df<-data.frame(a,b)
 
df1<-df %>%mutate(a1=ifelse(a>=70&a<80,"70대",
                             ifelse(a>=80&a<90,"80대",
                                    ifelse(a>=90&a<100,"90대","그 외"))));df1
df1<-df1 %>%
  group_by(a1) %>%
  summarise(bsum=sum(b));df1
df1<-df1[-c(4),];df1
 
ggplot(df1, aes(x =a1, y =bsum,group=1))+
  geom_col()
 
            
 
 
cs


어떤 자료에 대한 데이터의 비율을 보여준다. ex)남녀


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#install.packages("dplyr")#데이터 가공에 유용한 패키지
library("ggplot2")
library("dplyr")
#70년대의 실업률 합, 80년대의 실업률 합,90년대의 실업률 합,
 
 
# string<-substr(economics$date,start=3,stop=4)
# a<-as.integer(string);a
# b<-c(economics$unemploy)
# df<-data.frame(a,b)
# df1<-df %>%mutate(a1=ifelse(a>=70&a<80,"70대",
#                              ifelse(a>=80&a<90,"80대",
#                                     ifelse(a>=90&a<100,"90대","그 외"))));df1
# df1<-df1 %>%
#   group_by(a1) %>%
#   summarise(bsum=sum(b));df1
# df1<-df1[-c(4),];df1
# ggplot(df1, aes(x =a1, y =bsum,group=1))+
#   geom_col()
 
# a<-c("123,456,789")
# a<-gsub(",","",a);a
# a<-as.integer(a);a
# b<-c(100)
# c<-c(a+b);c
#연령대별 월급에 대한 그래프 
#c에 들어있는 데이터의 비율을 보여줄때 쓴다.
a<-c(10,20,10,20)#10대,20대월급의 합에서 남여 구분을 해줌
b<-c(10,20,30,40)#월급
# c<-c("남","남","여","여")
c<-c(0,0,1,1)#숫자값이여서 그라데이션으로 나옴, 확정값을 문자열로 줘야된다.
df<-data.frame(a,b)
ggplot(df, aes(x =a, y =b,fill=c))+#구분시켜준다.
  geom_col()
 
 
 
 
 
cs


728x90

'비트 장기 > R' 카테고리의 다른 글

9/4  (0) 2018.09.04
예제 11번~  (0) 2018.09.03
R 예제  (0) 2018.09.01

댓글