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에서 수리하는 방법: 교체할 요소 수가 교체 길이의 배수가 아닙니다.