티스토리 뷰
김승욱님의 강의를 듣고 작성하였습니다.
반복문 - for()
for() 함수
> for(number in 1:3){ + print(number) + } [1] 1 [1] 2 [1] 3 |
> for (number in c(1,3,9)){ + print(number) + } [1] 1 [1] 3 [1] 9 |
> for (num in 3:6){ + print(num * num) + } [1] 9 [1] 16 [1] 25 [1] 36 |
>for (number in 1:3for(number in 1:3){ + print(number) + Sys.sleep(0.2) }와 같이 쓰면 print가 0.2초에 한번씩 실행된다. |
> for (number in letters[1:3]){ + print(number) + } [1] "a" [1] "b" [1] "c" |
> for (number in c(1,3,9)){ + print(number^2) + } [1] 1 [1] 9 [1] 81 |
데이터 준비
> df_1 = data.frame( aa = c('a', 'b', 'c', 'd'), + bb = 1:4) > df_1 aa bb 1 a 1 2 b 2 3 c 3 4 d 4 |
응용
> for(num in 1:4){ + df_1[num, 'new_column'] = num * 2 + } > df_1 aa bb new_column 1 a 1 2 2 b 2 4 3 c 3 6 4 d 4 8 |
조건문 - if()
if() 함수
> n=3 > if(n==3){ + print('n은 3입니다.') + } else { + print('n은 3이 아닙니다.') + } [1] "n은 3입니다." |
> n =5 > if (n==3) { + print('n은 3입니다.') + } else { + print('n은 3이 아닙니다.') + } [1] "n은 3이 아닙니다." |
데이터 준비
> df_1 = data.frame ( aa = c('a', 'b', 'c', 'd'), + bb = 1:4) > df_1 aa bb 1 a 1 2 b 2 3 c 3 4 d 4 |
응용
> for (n in 1:4){ + if(n>=3){ + print(df_1[n, 'bb']) + } else { + print('응?') + } + } [1] "응?" [1] "응?" [1] 3 [1] 4 |
조건 연산자
데이터 준비
> df_1 = data.frame(aa = c('a', 'b', 'c', 'd'), + bb = 1:4) > df_1 aa bb 1 a 1 2 b 2 3 c 3 4 d 4 |
실습
> df_1[df_1$bb >= 3, ] aa bb 3 c 3 4 d 4 |
> df_1[df_1$aa == 'b', ] aa bb 2 b 2 |
> df_1[df_1$aa != 'b', ] aa bb 1 a 1 3 c 3 4 d 4 |
> df_1[(df_1$bb > 1) & (df_1$bb < 4), ] aa bb 2 b 2 3 c 3 |
> df = data.frame(aa = letters[1:4],
+ bb=1:4)
> # nrow를 사용하여 방어적 코딩 할 것.(이건 쉬워서 row가 4개인게 보이지만..)
> for (num in 1:nrow(df)){
+ df[num, 'new'] = num^2
+ }
> df
aa bb new
1 a 1 1
2 b 2 4
3 c 3 9
4 d 4 16
'beginner > R 문법 기초' 카테고리의 다른 글
R 산출물 저장 및 기타 (0) | 2019.07.24 |
---|---|
R 산술통계함수 (0) | 2019.07.18 |
R Data (0) | 2019.07.18 |
R 데이터 병합 및 요약 (0) | 2019.07.16 |
R 데이터 치환 및 삽입 (0) | 2019.07.16 |