close_btn
조회 수 3449 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print Files
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print Files

1주차 R 과제입니다.

rscript 첨부했습니다.


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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#데이터 읽어오기
cow<-read.csv("cow_data.csv", stringsAsFactors = FALSE)
sum(is.na(cow))
cow<-na.omit(cow)
library(stringr)
library(dplyr)
 
#전처리: 자료형을 factor로 변경
cow$code<-as.factor(cow$code)
cow$grade<-as.factor(cow$grade)
cow$kind<-as.factor(cow$kind)
cow$gender<-as.factor(cow$gender)
 
#전처리: 날짜를 format에 맞게 class를 변경해준다.
cow$birthday<-as.character(cow$birthday)
cow$birthday<-as.Date(cow$birthday, format = "%Y%m%d")
cow$slaughter_date<-as.character(cow$slaughter_date)
cow$slaughter_date<-as.Date(cow$slaughter_date, format = "%Y%m%d")
 
#전처리:cow$price에서 사용된 ","를 삭제하고 숫자형으로 바꿔준다.
cow$price<-as.numeric(gsub(",","",cow$price))
 
 
#1.
#cow$<-cbind(cow,is_edible=NULL)
cow$is_edible<-NA
#함수만들기
my_function<-function(df){
    df$is_edible<-ifelse(df$age>=50 & (df$grade=="3"|df$grade=="등외"),"폐기용","식용")
    return(df)
}
cow<-my_function(cow)
 1번 결과 확인.png


###2번째 방법: 함수 사용하지 않고.
#cow$is_edible<-ifelse(cow$age>=50 & (cow$grade=="3"|cow$grade=="등외"),"폐기용","식용")
cow
str(cow)
table(cow$is_edible)
 
#2.
#전처리: " "로 지역단위를 split하고 1,2번째 리스트를 paste 해준다.
address1<-str_split(cow$address," ")
address1<-lapply(address1,FUN=function(x){paste(x[1],x[2])})
cow$address<-unlist(address1)
str(cow)
#dplyr 파이프 함수로 데이터를 불러온다.
top<-cow %>% filter(grade=="1++") %>% group_by(address) %>% summarise(count= n()) %>% arrange(desc(count))
#상위 3개 도시 출력
top[c(1,2,3),]
 2번 결과.png
 
###2번째 방법
#address2<-str_split(cow$address," ")
#
#vec1<-c()
#vec2<-c()
#for(i in 1:length(address2)){
#    vec1=c(vec1, unlist(address2[i])[1])
#    vec2=c(vec2, unlist(address2[i])[2])
#}
#cow$address<-paste(vec1,vec2)
#
#
#cow<-subset(cow,cow$grade=="1++")
#sort(table(cow$address), decreasing=T)
#table(address,grade, cow)
 
 
 
#3.위 세 도시별 등급 마다 평균 가격
#dplyr 파이프 함수로 데이터를 불러온다.
top1_avg_price<-cow %>% filter(address==as.character(top[1,1])) %>%group_by(grade) %>% summarise(mean=mean(price))
top2_avg_price<-cow %>% filter(address==as.character(top[2,1])) %>%group_by(grade) %>% summarise(mean=mean(price))
top3_avg_price<-cow %>% filter(address==as.character(top[3,1])) %>%group_by(grade) %>% summarise(mean=mean(price))
top1_avg_price
top2_avg_price
top3_avg_price
 3번 결과.png
#4.위 세 도시의 월별 도축 현황
#dplyr 파이프 함수로 데이터를 불러오고 시각화해준다.
#top1_monthly
top1_monthly<-cow %>% filter(address==as.character(top[1,1])) %>
    mutate(month = format(slaughter_date, "%m"))%>% group_by(month) %>% summarise(count=n()) 
top2_monthly<-cow %>% filter(address==as.character(top[2,1])) %>
    mutate(month = format(slaughter_date, "%m"))%>% group_by(month) %>% summarise(count=n()) 
top3_monthly<-cow %>% filter(address==as.character(top[3,1])) %>
    mutate(month = format(slaughter_date, "%m"))%>% group_by(month) %>% summarise(count=n()) 
 
#시각화
plot(top1_monthly, type="l", main="상위 3개 도시의 월별 도축 현황",ylim=c(min(top2_monthly$count),max(top3_monthly$count)))
lines(top2_monthly, col="blue")
lines(top3_monthly, col="red")
 
#범례 달기
legend(7,340,
       legend = c("전라북도 정읍시""전라남도 고흥군""경기도 안성시"), 
       col=c("black","blue""red"), 
       lwd=0.6
       )
4번 결과.png  
 
##도시별 그래프 따로 그릴 경우
#par(mfrow=c(3,1))
#top1_monthly<-cow %>% filter(address==as.character(top[1,1])) %>% 
#    mutate(month = format(slaughter_date, "%m"))%>% group_by(month) %>% summarise(count=n()) 
#plot(top1_monthly, type="l", main="전라북도 정읍시 월별 도축 현황",ylim=c(min(top2_monthly$count),max(top3_monthly$count)))
 
#top2
#top2_monthly<-cow %>% filter(address==as.character(top[2,1])) %>% 
#    mutate(month = format(slaughter_date, "%m"))%>% group_by(month) %>% summarise(count=n()) 
#plot(top2_monthly, type="l", main="전라남도 고흥군 월별 도축 현황")
 
#top3
#top3_monthly<-cow %>% filter(address==as.character(top[3,1])) %>% 
#    mutate(month = format(slaughter_date, "%m"))%>% group_by(month) %>% summarise(count=n()) 
#plot(top3_monthly, type="l", main="경기도 안성시 월별 도축 현황")
 
 
 
 
 
cs

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 R 소스 공유 게시판 이용 관련 공지사항 1 DataMarket 2014.05.21 27077
110 투빅스 8&9기 8주차 LDA - 9기 전민규 file 전민규 2018.03.25 3144
109 투빅스 8&9기 8주차 SVM - 9기 최영제 file :) 2018.03.25 2863
108 투빅스 8&9기 8주차 과제 PCA -9기 신용재 file 신용재 2018.03.23 2831
107 투빅스 8&9기 7주차 과제 논문 요약 - 9기 배현주 file 배현주 2018.03.16 2811
106 투빅스 8&9기 7주차 과제 논문 요약 - 8기 김강열 file 김강열 2018.03.15 2977
105 투빅스 8&9기 7주차 과제 - 9기 김수지 file 김수지 2018.03.15 2865
104 투빅스 8&9기 6주차 과제 - 9기 서석현 file 스르륵 2018.03.08 2803
103 투빅스 8&9기 설 알고리즘 과제 - 9기 백광제 file 백광제 2018.02.25 3295
102 투빅스 8&9기 설 분석 과제 16' 뉴욕 택시 운행시간 예측 - 9기 최영제 :) 2018.02.24 3603
101 투빅스 8&9기 4주차 과제 Random Forest -9기 이잉걸 잉걸 2018.02.15 3223
100 투빅스 8&9기 4주차 과제 Naive Bayes Classification -9기 서석현 file 스르륵 2018.02.14 3121
99 투빅스 8&9기 3주차 과제 K-Nearest Neighbor, K-means 구현 -9기 신용재 1 신용재 2018.02.08 3664
98 투빅스 8&9기 3주차 과제 연관성 분석 - 9기 최영제 :) 2018.02.08 3426
97 투빅스 8&9기 2주차 과제 Gradient Descent, Softmax, Cross Entropy - 9기 서석현 file 스르륵 2018.02.02 3182
96 투빅스 8&9기 2주차 과제 회귀분석/로지스틱 - 9기 최영제 file :) 2018.02.02 3690
95 투빅스 8&9기 2주차 과제 Gradient Descent, Softmax, Cross Entropy - 9기 김명진 file kimji 2018.02.02 3075
» 투빅스 8&9기 1주차 과제 R 9기-신용재 file 신용재 2018.01.25 3449
93 투빅스 8&9기 1주차 과제 R 알고리즘 - 9기 서석현 file 스르륵 2018.01.25 3507
92 투빅스 7&8기 9주차 과제 Neural Network를 이용한 MNIST 분류 - 8기 김민정 민정e 2017.09.23 4869
91 투빅스 7&8기 9주차 과제 Neural Network를 이용한 MNIST 분류 - 8기 최서현 최서현 2017.09.22 4728
Board Pagination ‹ Prev 1 2 3 4 5 6 ... 7 Next ›
/ 7

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5