2017-03-29 31 views
-1

マクロ変数の名前を他の文字に簡単に追加できるSASと似た関数を条件付けたい。R関数の出力を変数に代入する

しかし、私はRでこれを行うことはできません。たとえば、次の構文では、変数の平均値を取得し、変数の新しい名前を割り当てる関数を作成します。

sex=c(1,2,3) 

rf<-function(x){ 
    assign(paste("x", "mean",sep=""),mean(x)) 
    } 
rf(sex) 

値が平均(1,2,3)の新しい変数「sexmean」を取得したいとします。

どうすればいいですか?

+0

R SASありません。関数型プログラミングを学ぶか、悪いRプログラマになる。 – Roland

答えて

0

この使用して、関数型プログラミング(およびR)を行う方法は行うことです。

sexmean <- mean(sex) 

あなたは本当に非常にこれはです(グローバル変数を変更するの副作用と機能を持っているしたい場合Rに悪い習慣と一般的に機能的なプログラミング)これは動作(ただし推奨非常であろう)。

sex <- c(1,2,3) 

rf <-function(x){ 
    arg_name <- deparse(substitute(x)) 
    assign(paste(arg_name, "mean",sep=""), mean(x), envir = .GlobalEnv) 
} 

rf(sex) 
+0

Rでこれを行うにはどうしたらよいのでしょうか? – Roland

+0

@Roland、私は関数型プログラミングを学ぶためのあなたの推薦と、適切なFP/Rの解決策は性別< - 平均(性別)であることに完全に同意します。 –

関連する問題