是否可以使用R将观察结果按N组排列,以反映数据集的比例?

是否可以使用R将观察结果按N组排列,以反映数据集的比例?,r,function,grouping,sampling,R,Function,Grouping,Sampling,R中是否有函数以N为一组排列观测值,以尽可能接近地反映某些变量的数据集比例 例如,如果我有一个包含8个观察值和两个变量的数据集,每个变量有两个级别,数据集比例如下: Var1 Var2 1 0.5 0.5 2 0.5 0.5 是否有任何函数可以使我从数据集中进行最佳采样,即创建2组观察值,以反映上述数据集的比例 示例数据: Data <- read.table(text=" Obs Var1 Var2 1 1 1 2

R中是否有函数以N为一组排列观测值,以尽可能接近地反映某些变量的数据集比例

例如,如果我有一个包含8个观察值和两个变量的数据集,每个变量有两个级别,数据集比例如下:

    Var1 Var2
1   0.5  0.5
2   0.5  0.5
是否有任何函数可以使我从数据集中进行最佳采样,即创建2组观察值,以反映上述数据集的比例

示例数据:

Data <- read.table(text="   Obs Var1    Var2    
    1   1   1   
    2   1   2   
    3   2   1   
    4   2   2   
    5   1   1   
    6   1   2   
    7   2   1   
    8   2   2   ", header=T)

数据您希望将其概括化吗?如果是这样的话,那是什么方式——更多的变量,更多不同的比例?组大小是输入,还是需要检测?如果不可能得到精确的解决方案,会发生什么情况?我试图在其中实现的数据有4个变量,级别从3到4不等。我试图让每个小组尽可能地反映这些水平的数据集比例。一个精确的解决方案是不可能的,所以我想把剩下的观察结果随机分配给几组。另一个问题是我不知道如何优化分组,即测试观察结果是否有效分组。你这样做的目的是什么?我建议只做一个随机样本或一个基于一个或两个变量的分层随机样本。如果您需要减少差异,请引导它。如果你忽略了这个建议,想继续这个问题,我认为你需要一个稍微混乱的例子,清楚什么是输入,什么是要检测/计算的。我仍然不知道组大小
N
是否是一个输入变量。很抱歉@Gregor。组大小
N
将作为输入。例如,我的数据框有660个观察值,我试图将它们分成10个观察值。我在第二个答案中找到了一个函数,但它不处理具有不同级别的变量。另一个算法建议:随机分配大小为
N
的组。保存并删除满足您要求的任何组(最好使用一些公差系数),并对其余数据重复此操作。迭代直到你满意为止。你想让它泛化吗?如果是这样的话,那是什么方式——更多的变量,更多不同的比例?组大小是输入,还是需要检测?如果不可能得到精确的解决方案,会发生什么情况?我试图在其中实现的数据有4个变量,级别从3到4不等。我试图让每个小组尽可能地反映这些水平的数据集比例。一个精确的解决方案是不可能的,所以我想把剩下的观察结果随机分配给几组。另一个问题是我不知道如何优化分组,即测试观察结果是否有效分组。你这样做的目的是什么?我建议只做一个随机样本或一个基于一个或两个变量的分层随机样本。如果您需要减少差异,请引导它。如果你忽略了这个建议,想继续这个问题,我认为你需要一个稍微混乱的例子,清楚什么是输入,什么是要检测/计算的。我仍然不知道组大小
N
是否是一个输入变量。很抱歉@Gregor。组大小
N
将作为输入。例如,我的数据框有660个观察值,我试图将它们分成10个观察值。我在第二个答案中找到了一个函数,但它不处理具有不同级别的变量。另一个算法建议:随机分配大小为
N
的组。保存并删除满足您要求的任何组(最好使用一些公差系数),并对其余数据重复此操作。迭代直到您满意为止。
Result <- read.table(text=" Obs Var1    Var2    Group_ID    
    1   1   1   1   
    4   2   2   1   
    2   1   2   2   
    3   2   1   2   
    5   1   1   3   
    7   2   1   3   
    6   1   2   4   
    8   2   2   4   ", header=T)