Xyz.R gibi başka bir dosyadaki abc.R dosyasında tanımlanan işlevleri nasıl çağırırım?
Tamamlayıcı bir soru, abc.R'de tanımlanan işlevleri R isteminden / komut satırından nasıl çağırırım?
Yanıtlar:
source("abc.R")
Ardından source("xyz.R")
(bu dosyaların her ikisinin de geçerli çalışma dizininizde olduğunu varsayarak) çağırabilirsiniz .
Abc.R ise:
fooABC <- function(x) {
k <- x+1
return(k)
}
ve xyz.R:
fooXYZ <- function(x) {
k <- fooABC(x)+1
return(k)
}
o zaman bu işe yarayacak:
> source("abc.R")
> source("xyz.R")
> fooXYZ(3)
[1] 5
>
Döngüsel bağımlılıklar olsa bile, bu işe yarayacaktır.
Örneğin abc.R bu ise:
fooABC <- function(x) {
k <- barXYZ(x)+1
return(k)
}
barABC <- function(x){
k <- x+30
return(k)
}
ve xyz.R şudur:
fooXYZ <- function(x) {
k <- fooABC(x)+1
return(k)
}
barXYZ <- function(x){
k <- barABC(x)+20
return(k)
}
sonra,
> source("abc.R")
> source("xyz.R")
> fooXYZ(3)
[1] 55
>
source
Bir dosyaya / işlevi yalnızca bir kez yapmanız gerekir . O zaman çalışma alanınızdadır ve istediğiniz zaman kullanabilirsiniz. Değiştirirseniz, yeniden kaynak sağlamanız gerekir. Kodu dönüştürdüğünüzden beri işlevleriniz çok değişiyorsa, hepsini tek bir dosyaya koyun ve her seferinde her şeyi kaynak haline getirin. Ayrıca, 1. daha büyük işlev koleksiyonunu sağlayan ve 2. Test durumlarınızı çalıştıran daha küçük ayrı bir dosyanız olabilir. R'de iş akışınızı düzenlemenin birçok yolu vardır.