2017-04-05 10 views
1

私はRで関数を書いていますが、関数から別のオブジェクトを呼び出せるようにしたいと思います。私が話している問題の簡単な例があります(実際のコードではありません)。関数内で定義されたオブジェクトを抽出するR

example <- function(a,b){ 
    c <- a+b 
    d <- a*b 
    e <- a/b 
    e 
} 

a <- 10 
b <- 20 

output <- example(a,b) 
str(output) 

output$c 

私の目標は、関数で定義されたcの値を最後の行に表示することです。このコードでは、出力に保存されるのは戻り値eだけです。

< <などを使用してローカルとグローバル環境を変更しようとしましたが、問題は解決しません。どんな助けもありがとう。

答えて

3

我々はlistで複数の出力を返し、その後

example <- function(a,b){ 
    c <- a+b 
    d <- a*b 
    e <- a/b 
    list(c=c, d= d, e = e) 
} 

a <- 10 
b <- 20 

output <- example(a,b)[['c']] 
output 
#[1] 30 

example(a,b)[['d']] 
#[1] 200 
+0

はどうもありがとうございましlist要素を抽出することができますが、完全に働きました。可能であれば、関数が関数をどのように関数から外して設定するかについて、より多くの洞察を提供できるなら、私は興味があります。 – House

関連する問題