abc.R 파일에 정의 된 함수를 다른 파일, 즉 xyz.R에서 호출하려면 어떻게해야합니까?하나의 .R 파일에있는 모든 함수를 정의하고 다른 .R 파일에서 호출하십시오. 가능하면 어떻게 될까요?
추가 질문은 R 프롬프트/명령 줄에서 abc.R에 정의 된 함수를 어떻게 호출합니까? .
fooABC <- function(x) {
k <- x+1
return(k)
}
및 xyz.R은 다음과 같습니다 :
abc.R 파일에 정의 된 함수를 다른 파일, 즉 xyz.R에서 호출하려면 어떻게해야합니까?하나의 .R 파일에있는 모든 함수를 정의하고 다른 .R 파일에서 호출하십시오. 가능하면 어떻게 될까요?
추가 질문은 R 프롬프트/명령 줄에서 abc.R에 정의 된 함수를 어떻게 호출합니까? .
fooABC <- function(x) {
k <- x+1
return(k)
}
및 xyz.R은 다음과 같습니다 :
abc.R 인 경우 당신은
이러한 파일을 모두 현재 작업 디렉토리에 있다고 가정 source("xyz.R")
(다음 source("abc.R")
를 호출 할 수 있습니다
fooXYZ <- function(x) {
k <- fooABC(x)+1
return(k)
}
그러면 작동합니다.
> source("abc.R")
> source("xyz.R")
> fooXYZ(3)
[1] 5
>
주기적 종속성이 있어도 작동합니다.
예.
fooABC <- function(x) {
k <- barXYZ(x)+1
return(k)
}
barABC <- function(x){
k <- x+30
return(k)
}
및 xyz.R이있다 : abc.R이 있다면 그 함수를 사용하여 다음
fooXYZ <- function(x) {
k <- fooABC(x)+1
return(k)
}
barXYZ <- function(x){
k <- barABC(x)+20
return(k)
}
,
> source("abc.R")
> source("xyz.R")
> fooXYZ(3)
[1] 55
>
뉘앙스 : 파일/함수를 한 번만'소스 화 '하면된다. 그런 다음 작업 공간에 있으며 언제든지 사용할 수 있습니다. 변경 한 경우 다시 소스해야합니다. 코드를 변환 한 이후에 기능이 많이 바뀌는 경우, 모든 파일을 하나의 파일에 저장하고 매번 전체 소스를 가져와야합니다. 또한 더 큰 기능 모음을 제공하는 작은 파일을 별도로 만들 수도 있습니다. 2. 테스트 사례를 실행합니다. R에는 작업 흐름을 정렬 할 수있는 여러 가지 방법이 있습니다. –
뉘앙스 주셔서 감사합니다, Bryan. 나는 이것을 절차 적 언어의 대부분의 사람들이 궁금해 할 수있는 2 가지 시나리오로 시연했다. 순환 종속성을 추가하기 위해 파일을 편집 한 것처럼 보이며,이 경우 순환 소거가 파일의 소스에 영향을 미치지 않습니다. –
감사합니다. @A_K : 주기적 종속성 문제를 강조해 주셔서 감사합니다. "can-be-improved"R 문서를 통해 몇 시간 동안 나를 파 냈습니다. :) –
. 좀 더 진지하게'소스'를 들여다. – Dason