4

私はRに次のコードを持っています。

x = c(rep(2,10),rep(4,10))
y1 = c(5.1,3,4.2,4.1,4.8,4.0,5,4.15,3,4.5)
y2 = c(9.1,8,9.2,8.2,7,9.5,8.8,9.3,10,10.4)
y = c(y1,y2)
plot(x,y,pch=16,cex=0.9,xlim=c(0,6),ylim=c(0,13))

このコードは、2つのドットバンドを持つプロットを生成します。パワーポイントを使用して、これらのバンドに通常の曲線を横向きにオーバーレイしました。実際の平均とsd値を使用して、R(横方向の正規曲線を描く)でこれを行うにはどうすればよいですか?:繰り返しますが、通常の曲線はプロットの一部ではありません。上記のコードは、生のプロットを生成するだけです。

ここに画像の説明を入力してください

4

1 に答える 1

7

まず、との平均と標準偏差を計算y1y2ます。

m1<-mean(y1)
s1<-sd(y1)
m2<-mean(y2)
s2<-sd(y2)

次に、数列(実際の値よりも広い)としてy値を含む2つのデータフレーム(便宜上)を作成しましy1y2x次に、使用する密度値をdnorm()計算し、平均値と標準偏差値を計算しました。2次に、またはを追加して、4値を目的の位置にシフトします。

df1<-data.frame(yval=seq(1,7,0.1),xval=(dnorm(seq(1,7,0.1),m1,s1)+2))
df2<-data.frame(yval=seq(6,12,0.1),xval=(dnorm(seq(6,12,0.1),m2,s2)+4))

関数付きの密度線を追加しましlines()た。

plot(x,y,pch=16,cex=0.9,xlim=c(0,6),ylim=c(0,13))
with(df1,lines(xval,yval))
with(df2,lines(xval,yval))

ここに画像の説明を入力してください

于 2013-02-28T18:25:00.460 に答える