반응형
데이터프레임을 하나 정의합시다.
num=1:10
score=c(78,62,65,94,71,97,57,83,71,96)
md=data.frame(num,score)
> md
num score
1 1 78
2 2 62
3 3 65
4 4 94
5 5 71
6 6 97
7 7 57
8 8 83
9 9 71
10 10 96
둘째 열에 5를 더해서 셋째 열을 추가하는 상황을 가정합시다. 아래와 같이 인덱싱을 이용하여 추가할 수 있습니다.
> md[,'add']=md$score+5
> md
num score add
1 1 78 83
2 2 62 67
3 3 65 70
4 4 94 99
5 5 71 76
6 6 97 102
7 7 57 62
8 8 83 88
9 9 71 76
10 10 96 101
이번에는 transform 함수를 이용해봅시다.
> md=transform(md,add=score+5)
> md
num score add
1 1 78 83
2 2 62 67
3 3 65 70
4 4 94 99
5 5 71 76
6 6 97 102
7 7 57 62
8 8 83 88
9 9 71 76
10 10 96 101
코드의 가독성이 더 좋습니다. 여러 열을 추가할 때는 인덱싱 보다 편리합니다. 아래와 같이 동시에 여러 열도 추가할 수 있습니다.
> md=transform(md,add2=add+score,add3=2*add-1)
> md
num score add add2 add3
1 1 78 83 161 165
2 2 62 67 129 133
3 3 65 70 135 139
4 4 94 99 193 197
5 5 71 76 147 151
6 6 97 102 199 203
7 7 57 62 119 123
8 8 83 88 171 175
9 9 71 76 147 151
10 10 96 101 197 201
반응형
'R 주제 > R 기초 및 통계 강의' 카테고리의 다른 글
[R강의] 142. var, sd 함수는 모집단일까 표본일까 (0) | 2023.02.27 |
---|---|
[R강의] 141. library 와 require 의 차이 (3) | 2023.02.27 |
[R강의] 139. 데이터프레임 열이름, 행이름 출력하고 수정하기 (0) | 2023.02.03 |
[R강의] 138. 데이터프레임 행 추가할 때 리스트를 사용해야하는 이유 (0) | 2023.01.31 |
[R강의] 137. 데이터프레임 결합의 끝판왕 (merge) (0) | 2023.01.31 |
댓글