본문 바로가기

R

if문

728x90
반응형

R에서의 if

if 예제:

if(조건식){

  조건식이 true 일 때 실행되는 식

}

else if (조건식){

  조건식이 true 일 때 실행되는 식

}

else {

  위에 조건들에 만족하짛 않는 경우 실행되는 식

}

 

 

 

문제185.

N 거리가 가까운 과일을 3개를 출력하시오

 

fruits <- data.frame('데이터'=c('A','B','C','D','E','F'),

'x좌표'=c(1,2,4,5,6,7),

'y좌표'=c(5,6,5,2,3,1),

'그룹'=c(rep('A',3),rep('P',3)), stringsAsFactors = FALSE)

 

distance<-function(a,b){

return ( sqrt( sum( (a-b)^2) ) ) 

}

 

temp <- c()

for ( i in 1 : length(fruits$x좌표) ) {

temp <- append( temp, distance( c ( fruits$x좌표[i],fruits$y좌표[i] ) , c ( 4, 4 ) ) )

}

 

fruits$그룹[which(temp==min(temp))]

"A"

 

fruits$그룹[which(rank(temp) <= 3)]

 "A" "P" "P"

 

 

 

 

문제186.

요소 A P P 중에 가장 많은 요소인 P 출력하시오

res<-fruits$그룹[which(rank(temp) <= 3)]

res

 

res table 처리 해주면 갯수가 나온다.

 table(res)
res
A P
1 2

 

max 하면 알파벳 순서(a=1...z=26) 이라는 인덱스 값을 취해서

A 아무리 많아도 p 맥스값으로 출력한다.

 

res<-fruits$그룹[which(rank(temp) <= 3)]

res<-c("A","A","P")

table(res)

 

 

## 최빈값 구하기

Mode <- function(x) {

  u_res <- unique(res)

  u_res[which.max(tabulate(match(res, u_res)))]

}

 

Mode(res)

 

 

 

 

 

 

 

 


728x90
반응형

'R' 카테고리의 다른 글

knn  (0) 2019.03.10
loop문  (0) 2019.03.10
R을 활용한 머신러닝 이란?  (0) 2019.03.09
샤이니에 데이터 테이블 표시하는 방법  (0) 2019.03.09
그래프(사분위수, 지도그래프, 워드클라우드)  (0) 2019.03.09