0

我正在尝试将数据框分为两组。数据框的结构如下:

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))

为此,我想计算给定间隔内的最佳值。该值会将数据帧分为两组。第一组 G1 所有大于最优值的 x1 值,第二组 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

在我计算变量x1in 的均值和 sd 之后X

mean(X$x1)=21.92308; sd(X$x1)=28.3921

然后我继续比较和的均值和标准x1差。然后像and不小于或等于 mean(X$x1) 和 sd(X$x1),函数必须用 11,12 等区间内的下一个值来证明。如果没有最佳显示任何消息。我一直在尝试,但我没有得到最佳结果。谢谢,我等着这很清楚。mean(G1)+mean(G2)sd(G1)+sd(G2)mean(G1)+mean(G2)sd(G1)+sd(G2)

4

1 回答 1

0

令 G 为整个群,G1 和 G2 为子群,|G| 设 G 的元素个数。

mean(G) = sum(G)/|G| 
        = sum(G1)/|G| + sum(G2)/|G|
        = sum(G1)/|G1| * |G1|/|G| + sum(G2)/|G2| * |G2| / |G|
        = mean(G1) * |G1|/|G| + mean(G2) * |G2| / |G|
        < mean(G1) + mean(G2)

其中最后一行是因为 (1) G 的所有元素都是正数,因此均值 (G1) 和均值 (G2) 必然是正数,并且 (2) G1 中的元素比 G 少,同样也少G2 中的元素比 G 所以 |G1|/|G| < 1 和 |G2|/|G| < 1. 因此,您的平均标准将永远不会得到满足。

于 2013-03-20T00:51:47.947 回答