R의 List의 값을 Iteration하고 싶을 때, 사용할 수 있는 코드이다.
첫번째 예제이다. 단순히 for each를 이용하는 예제이다.
mylist <- list(x <- 1:10)
mylist
for (x in mylist) {
print(x)
}
결과는 다음과 같다.
> mylist
[[1]]
[1] 1 2 3 4 5 6 7 8 9 10
> for (x in mylist) {
+ print(x)
+ }
[1] 1 2 3 4 5 6 7 8 9 10
두번째 예제는 iterators 라이브러리를 로딩한 경우이다. nextElem이 마지막 원소의 다음을 가르키게 되면 에러가 발생하는데, 이를 try문으로 예외를 잡게 하고 try-error인 class인 경우에는 loop를 빠지게 하는 코드이다.
(try 문이 의외로 중요한 상황에서 쓰일 수 있은 잘 기억한다!!)
library(iterators)
it <- iter(mylist)
while (TRUE) {
d = try(nextElem(it))
if (class(d) == "try-error") break
print(d)
}
결과는 다음과 같다.
> library(iterators)
>
> it <- iter(mylist)
> while (TRUE) {
+ d = try(nextElem(it))
+ if (class(d) == "try-error") break
+ print(d)
+ }
[1] 1 2 3 4 5 6 7 8 9 10
Error : StopIteration
'R' 카테고리의 다른 글
[R] R에서 메모리 정리하기 (0) | 2015.08.12 |
---|---|
[R] stop() 함수와 에러 처리 방법 (0) | 2015.08.11 |
R 의 함수 aliasing (별명) (0) | 2015.08.06 |
[R] rjson으로 data frame 으로 만들기 (0) | 2015.08.05 |
[R] 리눅스 (Red-hat 계열) 모듈 설치 (0) | 2015.08.05 |