データフレームを 2 つのグループに分割しようとしています。データ フレームには、次のような構造があります。
X=data.frame(x1=c(1,1,2,2,3,4,5,6,9,9,
11,2,4,45,67,89,1,1,
5,5,5,6,6,6,9,9,9,11,
11,8,8,8,51,90,40,15,
30,11,8,9,9,1,5,5,100,
67,78,98,34,25,51,45))
このために、特定の間隔内にある最適値を計算したいと考えています。この値は、データフレームを 2 つのグループに分割します。第1のグループG1は最適値より大きいx1のすべての値であり、第2のグループG2は最適値以下のx1のすべての値である。私が検討している基準は次のとおりです。
mean.G1+mean.G2<=mean(Data$X)
と
sd.G1+sd.G2<=sd(Data$X)
指定された間隔の反復で最適なものを抽出したい。たとえば、間隔は10から100で、値を選択すると、10
探している関数がそれを作成する必要があります
G1=data.frame(X[X$x1>10,]
G2=data.frame(X[X$x1<=10,]
この後、G1 と G2 の平均と標準偏差を計算します。
mean(G1$X.X.x1...10...)=48.45; sd(G1$X.X.x1...10...)=30.76306
mean(G2$X.X.x1....10...)=5.34375; sd(G2$X.X.x1....10...)=2.902828
の変数x1
の平均と標準偏差を計算した後X
:
mean(X$x1)=21.92308; sd(X$x1)=28.3921
x1
次に、 と の平均と標準偏差を比較mean(G1)+mean(G2)
しsd(G1)+sd(G2)
ます。次に、平均 (X$x1) および sd(X$x1) と同じかそれ以下ではない場合、関数は 11、12 などの間隔内の次の値で証明する必要がありますmean(G1)+mean(G2)
。sd(G1)+sd(G2)
最適なメッセージがない場合は、メッセージを表示します。私はしばらく試していましたが、最適なものが得られません。ありがとう、私はこれが明確になるのを待ちます。