Programming
No. | 792 |
Name. | swindler |
Subject. | R 함수생성, if else, for 조건문, 반복문 |
Main Cate. | 개발일반 |
Sub Cate. | |
Date. | 2017-03-22 14:37 |
Hit. | 2355 (121.78.49.66) |
File. | |
일단 여기서 상당히 삽질을 했다. checkOne<-function() { x<-runif(1) x if(x<0.5) r<-"low" else r<-"high" return (r) } > checkOne() [1] "high" > checkOne() [1] "low" > checkOne() [1] "high" 일단 처음 고생한거는 return (r) 부분이었다. 처음에 return r 이라고 했는데, 이렇게 하면 죽어도 안 된다. 왜??? 그리고 아래처럼 하면 안 된다. return (r) 뒤에 } 를 붙여서 썼다. > checkOne<-function() { + x<-runif(1) + x + if(x<0.5) + r<-"low" + else + r<-"high" + return (r)} 그리고 아직 해결하지 못한 문제... x 값을 출력하고 싶어서 x라는 문장을 추가했는데, 출력이 안 된다. 그냥 print (x) 라고 하니까 출력되는구나. 그리고 R studio 의 콘솔편집기에 대한 문제... 일단 실행하지 않고 멀티라인 편집을 할려면 shift + enter를 누르면 되긴 한다. 그리고 커서키를 위로 움직이면 히스토리처럼 작동하면서 수정이 가능한데, 아직 적응이 안 되어서 그런건지 상당히 불편하다. 하여튼, 저 위에서 if else 는 대충 써 봤고, > for(x in 1:5) + print (x) [1] 1 [1] 2 [1] 3 [1] 4 [1] 5 근데, for문 작성하고 그냥 엔터 입력했는데도, 당연히 다음 내용이 있어야 해서 그런건지 실행되지 않고 계속 편집모드로 남아있다. while문을 한번 써 볼려고 하는데, 귀찮은 상황이 발생함. 원래 해 보고 싶었던거는 x<-1 while(x<5) { print (x) x<-x+1 } 하여튼 말로 설명이 좀 어려운데, 이걸 한줄씩 입력하다보면 이상한 상태(?)가 된다. 무한루프에 빠지게 되는 경우가 생기는데, 이때는 콘솔 우측 상단에 빨간색 Stop 아이콘이 생겨난다. 이거 누르면 멈춤. repeat문은 뭐 비슷한데, break를 꼭 넣어줘야 한다. 굳이 repeat랑 while이 따로 있어야 하는지에 대해서는 잘 모르겠다. 생각해보니 while에 불편한 케이스를 repeat가 대체해 주는 것 같기도 하고... > x<-1 > repeat { + print(x) + if(x>=5) + break + x<-x+1 + } [1] 1 [1] 2 [1] 3 [1] 4 [1] 5 [바로가기 링크] : http://coolx.net/cboard/develop/792 |
|
|
|
[Modify] [Delete] | [Reply] [List] |