4,543,226 th visitor since 2017.2.1 ( Today : 22197 )
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



Name
Password
Comment
Copyright © 1999-2017, swindler. All rights reserved. 367,611 visitor ( 1999.1.8-2004.5.26 ), 2,405,771 ( -2017.01.31)

  2HLAB   2HLAB_Blog   RedToolBox   Omil   Omil_Blog