해결 방법: 개체(목록)에 "double" 유형을 강제로 입력할 수 없습니다.
R에서 발생할 수 있는 일반적인 오류는 다음과 같습니다.
Error: (list) object cannot be coerced to type 'double'
이 오류는 unlist() 함수를 먼저 사용하지 않고 여러 요소 목록을 숫자 요소로 변환하려고 할 때 발생합니다.
이 튜토리얼에서는 이 오류를 해결하는 데 사용할 수 있는 정확한 단계를 공유합니다.
오류를 재현하는 방법
다음 코드는 여러 항목의 목록을 숫자 값으로 변환하려고 시도합니다.
#create list x <- list(1:5, 6:9, 7) #display list x [[1]] [1] 1 2 3 4 5 [[2]] [1] 6 7 8 9 [[3]] [1] 7 #attempt to convert list to numeric x_num <- as. numeric (x) Error: (list) object cannot be coerced to type 'double'
unlist() 함수를 사용하지 않았기 때문에 (list) can be force to type “double” 이라는 오류 메시지를 받았습니다.
오류를 수정하는 방법
목록을 숫자로 변환하려면 unlist() 함수를 사용해야 합니다.
#create list x <- list(1:5, 6:9, 7) #convert list to numeric x_num <- as. numeric (unlist(x)) #display numeric values x_num [1] 1 2 3 4 5 6 7 8 9 7
class() 함수를 사용하여 x_num이 실제로 숫자 값의 벡터인지 확인할 수 있습니다.
#verify that x_num is numeric
class(x_num)
[1] "digital"
또한 원본 목록과 숫자 목록의 요소 수가 동일한지 확인할 수도 있습니다.
#display total number of elements in original list sum(lengths(x)) [1] 10 #display total number of elements in numeric list length(x_num) [1] 10
두 길이가 일치함을 알 수 있습니다.
추가 리소스
다음 튜토리얼에서는 R의 다른 일반적인 오류를 해결하는 방법을 설명합니다.
R에서 수정하는 방법: 이름이 이전 이름과 일치하지 않습니다.
R에서 수정하는 방법: 대비는 수준이 2개 이상인 요인에만 적용할 수 있습니다.
R에서 수정하는 방법: 긴 물체의 길이가 더 짧은 물체 길이의 배수가 아닙니다.