반응형
R 프로그래밍 과정에서 데이터프레임의 특정 값들을 원하는대로 바꾸는 방법을
정리해보도록 하겠습니다.
예시로 df라는 변수에 아래의 데이터프레임이 저장되어 있다고 가정해보겠습니다.
> df
A B C
1 10 가 aaa
2 20 나 aaa
3 30 다 bbb
4 40 라 bbb
특정 위치 값 1개 변경
가장 간단한 예시로, 행과 열의 위치를 지정하여 값을 수정하는 방법입니다.
R에서는 df[행 인덱스, 열 이름] = 값 형태로 할당해주시면 변경이 완료됩니다.
> df[1, "A"] = 999
> df
A B C
1 999 가 aaa
2 20 나 aaa
3 30 다 bbb
4 40 라 bbb
특정 행 전체 수정
특정 행의 값 전체를 변경하고 싶다면 df[행 인덱스, ] = 행 값 벡터 형태로
행 전체의 값들을 순서대로 할당해주시면 됩니다.(단, 행 인덱스 뒤에 콤마는 필수입니다.)
> df[3, ] = c(999, "파", "zzz")
> df
A B C
1 10 가 aaa
2 20 나 aaa
3 999 파 zzz
4 40 라 bbb
반응형
특정 열 전체 수정
df[열 이름] = 열 값 벡터 형태로 코드를 실행시키면
벡터 내 값들의 순서로 해당 열의 값들이 통째로 변경됩니다.
> df["B"] = c("마", "바", "사", "아")
> df
A B C
1 10 마 aaa
2 20 바 aaa
3 30 사 bbb
4 40 아 bbb
여러 행/열들의 값 동시에 변경
df[행 인덱스 벡터, 열 이름 벡터] = 값 벡터 형태의 코드로 여러 행/열들의 값을
동시에 수정하는 것이 가능합니다.
여기서 행 -> 열 순서로 값들이 할당되는 점에 유의해주세요.
> df[c(1, 2), c("A", "C")] = c(111, 222, "yyy", "zzz")
> df
A B C
1 111 가 yyy
2 222 나 zzz
3 30 다 bbb
4 40 라 bbb
특정 조건 만족 위치 값 변경
R 프로그래밍에서 행, 열의 위치가 아니라 값에 대한 조건을 기준으로 해당하는 위치들의
값을 바꾸고 싶다면, df[조건, 열 이름] = 값 형태로 코드를 작성해주시면 됩니다.
아래는 A열의 값이 15 초과인 행들의 C열 값들을 "kkk"로 수정하는 예시입니다.
> df[df$A > 15, "C"] = "kkk"
> df
A B C
1 10 가 aaa
2 20 나 kkk
3 30 다 kkk
4 40 라 kkk
'R' 카테고리의 다른 글
[R] 파일 다운로드 과정 'Permission denied', "다운로드의 종료상태(exit status)가 0이 아닙니다." 해결 방법 (0) | 2022.09.20 |
---|---|
[R] "파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다" 해결 방법 (0) | 2022.09.13 |
[R] 행 이름(인덱스) 지정, 초기화 방법 (0) | 2022.09.06 |