2012-03-28 21 views
2

私はrと呼ばれる1dの大きなデータセットを持っています。 私はプロットをしたいと思います:Rのパラメトリック平均をプロット

mean(log(1+a*r)) vs a, with a > -1 . 

私はこれをどのように行うことができますか?

答えて

2

sapplyを使用すると、一連の値に対する関数を評価できます。

x <- seq(-1,1,length=20) 
y <- sapply(x, function(a) mean(log(1+a*r))) 
plot(x,y, type="l") 

あるいは、この量 を計算し、それをプロットするcurveを使用する関数を定義することができます。 関数をベクトル化する必要があります。

r <- runif(100) 
f <- function(a) mean(log(1+a*r)) 
f <- Vectorize(f) 
curve(f, xlim=c(-1,1), las=1) 
+0

あなたはRの王様です: – emanuele

+0

私は2つのデータセットr 'とr "と2つのパラメータa、bを使ってどうやって行うことができますか? 平均値(log(1 + a * r '+ b * r "))vs a、b – emanuele

+0

2つの変数の関数をプロットするには、' persp'、 'image'、' contour'を使用できます '' lattice'パッケージの '' levelplot''、 '' contourplot')を使用します。 データを構築するには、 'outer'と' Vectorize'を使用できます。 –