2014-06-17 10 views
2

나는, R 초기화에 특정 파일을로드 할 자연스럽게 내가 그렇게 내 Rprofile에 source 명령을 추가 '를 찾을 수없는 기능'발생 runif 또는 rnorm 같은 기본 함수에 '함수를 찾을 수 없음'오류가 발생합니다. 같은 파일을 작업 공간에 수동으로로드 할 때 오류가 발생하지 않습니다.시작 스크립트 오류

+2

거기에 당신이 현재 가지고있는 라인을 넣어하는 것입니다 R, 왜냐하면 당신의 스크립트가 ... 실행되기 때문입니다. –

+0

아하 ..... 그 정도의 의미가 있습니다. 세션 시작 부분에 다른 모든 기능을 실행하는 또 다른 기능이 있습니까? – Ixxie

답변

1

.First을 만들 필요는 없습니다 (또는 실제로 가 필요합니다). 당신이 그 라인들을 당신의 .Rprofile에 넣으면 그들은 잘 작동 할 것입니다. - 단, @Pascal이 지적한 바에 따르면 file.R에 호출 된 모든 함수의 라이브러리가 먼저로드되어야합니다. 그래서, 당신의 .Rprofile의 하단 , 단지

library(whatever_packages_needed) 
cat("\n Welcome to R MotherFnorder!!!\n\n") 
setwd("/home/username/Code/R/") 
source("/home/username/Code/R/file.R") 

편집을 넣어 : 나는 당신의 문제를 재현 할 수 있습니다. 내 .Rprofile 끝에 다음 줄을 추가했습니다.

#testing SO problem with libloading 
library(stats) 
runif(10) 

콘솔에는 10 개의 멋진 번호가 있습니다.

+0

답변 해 주셔서 감사합니다.하지만 불행히도 솔루션이 작동하지 않았습니다. 나는 정확히 같은 오류가 발생합니다. {이미 헤더에서 호출 된 파일에 라이브러리가 사용되었습니다. 관계없이, 단지'.Rprofile' 파일에 다시 추가하여 확인했습니다. 차이는 없습니다.} – Ixxie

+0

@lxxie 업데이트 된 메모를 참조하십시오. –

+0

나는 업데이트 된 노트에서 코드 언급을 시도했다. 그리고이 매우 똑같은 코드는 나에게도 도움이된다. 이 문제는 특히이 문맥에서'source()'함수가 호출되는 방식에 문제가있는 것 같습니다. – Ixxie

1

.First() 패키지가 아직로드되지 않은 경우 오류가 발생합니다.

runifrnorm은 기본 기능처럼 보일 수 있지만 실제로는 stats 패키지의 일부입니다. 이 설명

(특별히 .First 내에서 해당 패키지를 호출하지 않는 한) .First()를 호출 할 때와 같은, 그들은 사용할 수 없습니다 :

나는에 수동으로 같은 파일을로드 할 때 workspace 오류가 없습니다. 수동 아무것도 실행할 수있는 기회가 전에 .First()하지만

은 기본 패키지가 첨부됩니다. 따라서 수동으로 호출 할 때 함수에서 사용할 수 있습니다.


이 솔루션은 (이미 존재하지 않는 경우) "~/.Rprofile"라는 파일을 생성하고 이미 수입하지 기능을 사용하려고하기 때문입니다 .First()