[R] Error in sample.int(length(x), size, replace = T, prob) : 'replace' 인자가 잘못되었습니다.

해당 포스트는 R에서 sample 함수를 사용하며 발생한 에러를 조치하는 방법에 대해 소개합니다.


error-using-sample-function-in-r
[출처] 네이버 지식인


문제

제가 가지고 있는 파일에선 저렇게 입력하라고 적혀있는데 자꾸 오류가 납니다.

어떻게 고쳐야 하는지 알려주시면 바로 채택하겠습니다.

replace-argument-error-using-sample-function-in-r
[출처] 네이버 지식인

풀이

이번 질문은 R에서 sample() 함수를 사용하면서 발생한 에러에 대한 문의였습니다. 질문자가 올려준 코드를 확인해 본 결과, 정상 코드였으며 제 환경에서는 에러가 발생하지 않았습니다.

Error Message
Error in sample.int(length(x), size, replace = T, prob) : 'replace' 인자가 잘못되었습니다.


R을 사용하다 보면 평소 잘 사용하던 함수들이 에러가 나거나 결과가 다르게 출력이 되는 경우가 발생하는데, 대부분의 경우가 함수 중복 로딩으로 원하는 패키지의 함수가 사용되지 않아 에러가 발생하게 됩니다. 이런 경우 내가 사용하고자 하는 함수의 패키지명을 함께 써주면 간단히 해결이 됩니다.

  • 함수명만 입력
alpha = sample(c("A","B","C"), 25, replace=T)
[1] "B" "B" "B" "B" "C" "A" "C" "C" "C" "A" "C" "A" "B" "C" "C" "C" "B" "B" "C" "A" "B" "C" "A" "B" "C"

  • 패키지명과 함께 입력
alpha = base::sample(c("A","B","C"), 25, replace=T)
[1] "B" "B" "B" "B" "C" "A" "C" "C" "C" "A" "C" "A" "B" "C" "C" "C" "B" "B" "C" "A" "B" "C" "A" "B" "C"

내가 사용하려는 함수의 패키지 확인?
R에서 사용하려는 함수의 패키지를 확인하려면 help(함수명) 또는 ?함수명을 입력하시면 됩니다.

마무리

해당 포스트에서는 R에서 sample 함수를 사용하며 발생한 에러를 조치하는 방법에 대해 소개하였습니다. R을 사용하다 보면 다양한 패키지들을 불러와 사용하게 되고 그 과정에서 함수의 중복은 피할 수 없습니다. 개인 학습에는 굳이 패키지명까지 입력할 필요는 없으나, 코드를 공유하거나 배포하시려는 분이라면 위 예시처럼 패키지명을 앞에 사용해 주시는 것이 코드 에러를 방지하는데 도움이 됩니다.


관련 링크

[1] R스튜디오(R Studio)에서 글자가 다르게 입력되는 문제 해결하기