DBILITY

R lottery number generation exercise ( 로또 번호 생성) 본문

statistics/R

R lottery number generation exercise ( 로또 번호 생성)

DBILITY 2018. 11. 26. 20:53
반응형

이번 주 로또는 새로 공부한 R에서 추출한다.ㅋㅋ

한심하기 짝이 없으나, R로 만든 첫 프로그램이다는 것에 의미를 두자.

order() 함수는 정렬된 값의 순서 인덱스를 반환하고, sort() 함수는 정렬된 값을 반환한다. sort() 함수는 데이터 프레임에는 사용할 수 없다.

> lotto<-function(game){
+   z<-matrix(NA,nrow = game,ncol = 6)
+   colnames(z)<-c('N1','N2','N3','N4','N5','N6')
+   for(x in 1:game) {
+     y<-sample(1:45,6,replace = FALSE)
+     #print(y[order(y)])
+     #z[x,]<-y[order(y)]
+      print(sort(y))
+      z[x,]<-sort(y)
+   }
+   write.csv(z,'lotto.csv',row.names = FALSE, fileEncoding = 'UTF-8')
+ }
> lotto(5)
[1]  5  6 10 11 19 32
[1]  3 19 27 32 40 42
[1]  5 14 19 25 29 40
[1]  8  9 21 35 36 44
[1]  3  6 17 18 34 45

> lotto2<-function(game){
+   z<-as.data.frame(matrix(NA,nrow = game,ncol = 6))
+   colnames(z)<-c('N1','N2','N3','N4','N5','N6')
+   for(x in 1:game) {
+     y<-sample(1:45,6,replace = FALSE)
+     print(y[order(y)])
+     z[x,]<-y[order(y)]
+   }
+   write.csv(z,'lotto2.csv',row.names = FALSE, fileEncoding = 'UTF-8')
+ }
> 
> lotto2(5)
[1] 24 32 33 35 43 45
[1]  1  7 11 17 24 36
[1]  2  7 10 24 29 37
[1]  7  9 12 15 22 26
[1]  3  7 16 24 33 41

> lotto3<-function(game){
+   z<-as.data.frame(matrix(NA,nrow = 1,ncol = 6))
+   z<-z[-c(1),]
+   for(x in 1:game) {
+     y<-sample(1:45,6,replace = FALSE)
+     print(y[order(y)])
+     z<-rbind(z,y[order(y)])
+   }
+   colnames(z)<-c('N1','N2','N3','N4','N5','N6')
+   write.csv(z,'lotto3.csv',row.names = FALSE, fileEncoding = 'UTF-8')
+ }
> 
> lotto3(5)
[1]  6 14 18 20 32 43
[1]  3  8 15 18 26 42
[1]  1 12 18 20 31 44
[1]  6  7 31 34 35 42
[1]  9 21 27 28 42 45

 

반응형
Comments