R에서 데이터 프레임의 값을 바꾸는 방법(예제 포함)


다음 구문을 사용하여 R의 데이터 프레임에 있는 특정 값을 새 값으로 바꿀 수 있습니다.

 df[df == ' Old Value '] <- ' New value '

다음 구문을 사용하여 데이터 프레임의 많은 값 중 하나를 새 값으로 바꿀 수 있습니다.

 df[df == ' Old Value 1 ' | df == ' Old Value 2 '] <- ' New value '

그리고 다음 구문을 사용하여 데이터 프레임의 특정 열에 있는 특정 값을 새 값으로 바꿀 수 있습니다.

 df['column1'][df['column1'] == ' Old Value '] <- ' New value '

다음 예에서는 이 구문을 실제로 사용하는 방법을 보여줍니다.

예시 1: 전체 데이터 프레임에서 특정 값 바꾸기

다음 코드는 전체 데이터 프레임에서 특정 값을 새 값으로 바꾸는 방법을 보여줍니다.

 #create data frame
df <- data. frame (a = as. factor (c(1, 5, 7, 8)),
                 b = c('A', 'B', 'C', 'D'),
                 c = c(14, 14, 19, 22),
                 d = c(3, 7, 14, 11))

#view data frame
df

  abcd
1 1 To 14 3
2 5 B 14 7
3 7 C 19 14
4 8 D 22 11

#replace '14' with '24' across entire data frame
df[df == 14] <- 24

#view updated data frame
df 

  abcd
1 1 To 24 3
2 5 B 24 7
3 7 C 19 24
4 8 D 22 11

예시 2: 전체 데이터 프레임의 여러 값 중 하나 바꾸기

다음 코드는 전체 데이터 프레임에서 여러 값 중 하나를 새 값으로 바꾸는 방법을 보여줍니다.

 #create data frame
df <- data. frame (a = as. factor (c(1, 5, 7, 8)),
                 b = c('A', 'B', 'C', 'D'),
                 c = c(14, 14, 19, 22),
                 d = c(3, 7, 14, 11))

#view data frame
df

  abcd
1 1 To 14 3
2 5 B 14 7
3 7 C 19 14
4 8 D 22 11

#replace '14' and '19' with '24' across entire data frame
df[df == 14 | df == 19] <- 24

#view updated data frame
df

  abcd
1 1 To 24 3
2 5 B 24 7
3 7 C 24 24
4 8 D 22 11

예시 3: 데이터 프레임의 특정 열에 있는 값 바꾸기

다음 코드는 데이터 프레임의 특정 열에서 특정 값을 새 값으로 바꾸는 방법을 보여줍니다.

 #create data frame
df <- data. frame (a = as. factor (c(1, 5, 7, 8)),
                 b = c('A', 'B', 'C', 'D'),
                 c = c(14, 14, 19, 22),
                 d = c(3, 7, 14, 11))

#view data frame
df

  abcd
1 1 To 14 3
2 5 B 14 7
3 7 C 19 14
4 8 D 22 11

#replace '14' in column c with '24'
df['c'][df['c'] == 14] <- 24

#view updated data frame
df 

  abcd
1 1 To 24 3
2 5 B 24 7
3 7 C 19 14
4 8 D 22 11

예시 4: 데이터 프레임의 요인 변수 값 대체

요인 변수의 특정 값을 재정의하려고 하면 다음과 같은 경고 메시지가 표시됩니다.

 #create data frame
df <- data. frame (a = as. factor (c(1, 5, 7, 8)),
                 b = c('A', 'B', 'C', 'D'),
                 c = c(14, 14, 19, 22),
                 d = c(3, 7, 14, 11))

#attempt to replace '1' with '24' in column a
df['a'][df['a'] == 1] <- 24

Warning message:
In `[<-.factor`(`*tmp*`, thisvar, value = 24):
  invalid factor level, NA generated
     abcd
1 <NA> A 14 3
2 5 B 14 7
3 7 C 19 14
4 8 D 22 11

이 경고를 방지하려면 먼저 요인 변수를 숫자 변수로 변환해야 합니다.

 #convert column a to numeric
df$a <- as. numeric (as. character (df$a))

#replace '1' with '24' in column a
df['a'][df['a'] == 1] <- 24

#view updated data frame
df

   abcd
1 24 A 14 3
2 5 B 14 7
3 7 C 19 14
4 8 D 22 11

추가 리소스

R에서 NA를 문자열로 바꾸는 방법
R에서 결측값을 모두 대치하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다