2016-08-09 5 views
-2

私はいくつかの要素があり、私がアクセスしやすいようにしたい(a1a2f1)という関数を持っています。この目的のために、関数の復帰でリストを追加しました。 return(list(a1=a2,a2=a2,f1=f1))関数を呼び出さずにオブジェクトを保存するR

しかし、私がこの機能を実行すると、私は印刷したくないものがあります。 a2およびf1などです。だから私の質問は、a2またはf1として印刷せずに私のオブジェクトにアクセスするのですか?

答えて

2

<-を使用して関数の結果を変数に代入するだけです。たとえば、機能がfooの場合は、foo()を実行すると結果リストが画面に出力されますが、res <- foo()は表示されません。res$a1,res$a2およびres$f1にアクセスできます。

いくつかの変数を印刷する場合は、明示的にprint()を呼び出します。たとえば、関数の最後に:

print(a1) 
return(list(a1=a1, a2=a2, f1=f1)) 

時にはすべての関数値を返すようにしたい場合があります。私たちは何ができる

invisible(list(a1=a1, a2=a2, f1=f1)) 
1

私はそれが正しい得た場合、私は知りませんが、あなたは関数を呼び出して印刷し、後で何を選択できるように、出力を変数に割り当てることができます。

リストに名前を付けると便利です。

編集: @ cuttlefish44アドバイスを使用してリストの名前を追加しました。

SomeFunctionName <- function(){ 

    a <- 1 
    b <- rep(1,10) 
    c <- rep("aaa",20) 
    d <- list(a = a,b = b,c = c) 
    return(d) 
} 

var <- SomeFunctionName() 

var$a 
var$b 
var$c 

リストの名前を付けても役立ちます。

+1

'd < - list(a、b、c);名前(d)< - c( "a"、 "b"、 "c") 'はd < - list(a = a、b = b、c = c)'に相当します。 – cuttlefish44

関連する問題