해결 방법: strsplit(unitspec, " ") 오류: 문자가 없는 인수


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

 Error in strsplit(df$my_column, split = "1"): non-character argument 

이 오류는 일반적으로 작업 중인 개체가 문자열이 아닌 경우 R에서 strsplit() 함수를 사용하여 문자열을 분할하려고 할 때 발생합니다.

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

오류를 재현하는 방법

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

 #create data frame
df <- data. frame (team=c('A', 'B', 'C'),
                 dots=c(91910, 14015, 120215))

#view data frame
df

  team points
1 A 91910
2 B 14015
3 C 120215

이제 숫자 1이 나타나는 위치를 기준으로 “points” 열의 값을 분할하기 위해 strsplit() 함수를 사용한다고 가정해 보겠습니다.

 #attempt to split values in points column
strsplit(df$points, split="1")

Error in strsplit(df$points, split = "1"): non-character argument

변수 “points”가 문자가 아니기 때문에 오류가 발생합니다.

이 변수의 클래스를 확인하여 이를 확인할 수 있습니다.

 #display class of "points" variable
class(df$points)

[1] "digital"

이 변수에는 숫자 클래스가 있음을 알 수 있습니다.

오류를 수정하는 방법

이 오류를 해결하는 방법은 strsplit() 함수를 사용하기 전에 as.character()를 사용하여 “points” 변수를 문자로 변환하는 것입니다.

 #split values in points column based on where 1 appears
strsplit(as. character (df$points), split="1")

[[1]]
[1990"

[[2]]
[1] "" "40" "5" 

[[3]]
[1] "" "202" "5"

이번에는 먼저 as.character() 함수를 사용하여 “포인트”를 문자로 변환했기 때문에 “포인트” 열의 각 값을 성공적으로 분할했습니다.

추가 리소스

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

R에서 수정하는 방법: 이름이 이전 이름과 일치하지 않습니다.
R에서 수정하는 방법: 열 이름보다 더 많은 열
R에서 복구하는 방법: 대체에는 X 행이 있고 데이터에는 Y가 있습니다.

의견을 추가하다

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