R에서 수정하는 방법: 기본값 없이 "no" 인수가 누락되었습니다.


R에서 발생할 수 있는 오류는 다음과 같습니다.

 Error in ifelse(df$team == "B", "Boston"): 
  argument "no" is missing, with no default

이 오류는 R에서 ifelse() 함수를 사용하지만 논리 테스트가 false를 반환할 경우 반환되어야 하는 값을 지정하는 세 번째 인수를 포함하는 것을 잊었을 때 발생합니다.

이 튜토리얼에서는 이 오류를 수정하는 방법을 정확하게 설명합니다.

오류를 재현하는 방법

R에 다음과 같은 데이터 프레임이 있다고 가정합니다.

 #create data frame
df <- data. frame (team=c('B', 'B', 'B', 'B', 'C', 'C', 'C', 'D'),
                 points=c(12, 22, 35, 34, 20, 28, 30, 18),
                 assists=c(4, 10, 11, 12, 12, 8, 6, 10))

#view data frame
df

  team points assists
1 B 12 4
2 B 22 10
3 B 35 11
4 B 34 12
5 C 20 12
6 C 28 8
7 C 30 6
8 D 18 10

이제 ifelse() 함수를 사용하여 team 열의 값이 “B”와 같은 경우 “Boston”을 포함하는 city 라는 새 열을 생성하려고 한다고 가정합니다.

 #attempt to create new column with team city
df$city <- ifelse(df$team == ' B ', ' Boston ')

Error in ifelse(df$team == "B", "Boston"): 
  argument "no" is missing, with no default

열의 값이 ‘B’와 같지 않은 경우 반환해야 하는 값을 지정하는 ifelse() 함수에 세 번째 인수를 제공하지 못했기 때문에 오류가 발생합니다.

오류를 수정하는 방법

이 오류를 해결하는 방법은 열의 값이 ‘B’와 같지 않은 경우 반환해야 하는 값을 지정하는 ifelse() 함수에 세 번째 인수를 제공하는 것입니다.

다음 구문은 이를 수행하는 방법을 보여줍니다.

 #create new column with team city
df$city <- ifelse(df$team == ' B ', ' Boston ', ' Other ')

#view updated data frame
df

  team points assists city
1 B 12 4 Boston
2 B 22 10 Boston
3 B 35 11 Boston
4 B 34 12 Boston
5 C 20 12 Other
6 C 28 8 Other
7 C 30 6 Other
8 D 18 10 Other

ifelse() 함수에 세 번째 인수를 제공했기 때문에 이번에는 오류가 발생하지 않습니다.

이 예에서 ifelse() 함수는 열의 값이 “B”와 같으면 “Boston” 값을 반환하고, 열의 값이 다른 값이면 “Other” 값을 반환합니다.

추가 리소스

다음 튜토리얼에서는 R의 다른 일반적인 오류를 수정하는 방법을 설명합니다.

R에서 수정하는 방법: 강제로 인해 발생하는 NA
R에서 복구하는 방법: 범위를 벗어난 인덱스
R에서 수정하는 방법: 긴 물체의 길이가 더 짧은 물체 길이의 배수가 아닙니다.
R에서 수리하는 방법: 교체할 요소 수가 교체 길이의 배수가 아닙니다.

의견을 추가하다

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