I持って次のスクリプト:パラメータの異なる値に対して分布をプロットするにはどうすればよいですか?
:対数正規分布は、パラメータの異なる値のためにどのように見えるかの次のグラフ(マイナスタイトル)を生成
library(ggplot2)
values <- c(0.1,0.15,0.2,0.3,0.5,1,1.5,2,2.5)
colours <- palette()[1:length(values)];
p <- ggplot(data.frame(x=c(0, 2)), aes(x)) +
stat_function(fun= function(x) dlnorm(x,mean = 0, sd = 0.1),aes(colour="0.1"))+
stat_function(fun= function(x) dlnorm(x,mean = 0, sd = 0.15),aes(colour="0.15"))+
stat_function(fun= function(x) dlnorm(x,mean = 0, sd = 0.2),aes(colour="0.2"))+
stat_function(fun= function(x) dlnorm(x,mean = 0, sd = 0.3),aes(colour="0.3"))+
stat_function(fun= function(x) dlnorm(x,mean = 0, sd = 0.5),aes(colour="0.5"))+
stat_function(fun= function(x) dlnorm(x,mean = 0, sd = 1),aes(colour="1"))+
stat_function(fun= function(x) dlnorm(x,mean = 0, sd = 1.5),aes(colour="1.5"))+
stat_function(fun= function(x) dlnorm(x,mean = 0, sd = 2),aes(colour="2"))+
stat_function(fun= function(x) dlnorm(x,mean = 0, sd = 2.5),aes(colour="2.5"))+
scale_colour_manual("Sigma:", values=colours, breaks=as.character(values))
p
これらのコピーペーストラインを、より目立つものに置き換えるにはどうすればよいですか?
何か
stat_function(fun= function(x) dlnorm(x,mean = 0, sd = values),aes(colour=as.character(values)))
などの編集:重複として提案された質問とは違って、私は機能ではなく、データを処理していますので、私はそこに提案
を適用するかどうかはわかりません私もこのようにfor-loopで試しました:
library(ggplot2)
values <- c(0.1,0.15,0.2,0.3,0.5,1,1.5,2,2.5)
colours <- palette()[1:length(values)];
p <- ggplot(data.frame(x=c(0, 2)), aes(x)) +
ggtitle(expression(paste("Log-normaal distributie met verschillende waarden van ", sigma)))+
ylab(expression(paste(f[X](x))))
for(i in 1:length(values)){
p <- p + stat_function(fun= function(x) dlnorm(x,mean = 0, sd = values[i]), aes(colour=as.character(values[i])))
}
p + scale_colour_manual("Sigma:", values=colours, breaks=as.character(values))
しかし、それは動作しません:それは最後の曲線をプロットします。
答えが正常に動作され、提案が、私はその後、色にラベルを追加することができないんだと、私も試してみました:
ggplot(data.frame(x=c(0, 2)), aes(x)) +
mapply(function(col, mean, sd) {
stat_function(fun = dlnorm, args = list(mean = mean, sd = sd), aes(colour=col))},
mean = 0, sd = values, col = as.character(values)) +
scale_colour_manual("Sigma:", values=colours, breaks=as.character(values))
それはというエラーを生成します。 Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, : arguments imply differing number of rows: 0, 2
可能な複製[forループを使用してggplotにレイヤを追加する方法](https://stackoverflow.com/questions/15987367/how-to-add-layers-in-ggplot-using-a-for-loop) – LAP
@LAP:その質問を見ましたが、動作させることができませんでした。私はデータを持っていませんが、むしろ関数からプロットされた連続的な曲線... – Gloomy