【问题标题】:stratified sampling with fixed proportions of observation types in RR中具有固定比例观察类型的分层抽样
【发布时间】:2017-12-04 12:34:00
【问题描述】:

我有一个样本,其中 50% 的观察结果是白人和 50% 的非洲裔美国人。

我想获得一个随机子样本,其中该比例被修改为 80% 白人和 20% 非洲裔美国人。

我尝试了命令 stratified,但找不到允许我将份额分配到分层标准的选项。

提前感谢您的帮助!

【问题讨论】:

    标签: r random sample splitstackshape


    【解决方案1】:

    我会过滤白人和非裔美国人的数据,然后从每个子集中进行选择。

    ## 80% of the white sample
      smp_size <- floor(train_ratio * nrow(df_white))
    
      ## set the seed to make your partition reproductible
      set.seed(42)
      data_ind_w <- sample(seq_len(nrow(df_white)), size = smp_size)
    

    对于非裔美国人

    ## 20% of the african sample
      smp_size <- floor(train_ratio * nrow(df_african))
    
      ## set the seed to make your partition reproductible
      set.seed(42)
      data_ind_a <- sample(seq_len(nrow(df_african)), size = smp_size)
    

    这是新数据

      new_data <- c(white[data_ind_w,],african[data_ind_a,])
    

    【讨论】:

      【解决方案2】:

      如果您的原始数据集有 100 行(50 个白人和 50 个非洲裔美国人),那么 80% 将是 40 个样本,20% 将是 10 个样本。知道了这些值,你可以试试:stratified(mydf, "group", size = c("White" = 40, "African-American" = 10)).

      例子:

      mydf <- data.frame(group = rep(c("White", "African-American"), each = 50), value = 1:100)
      mydf
      library(splitstackshape)
      set.seed(1)
      x <- stratified(mydf, "group", size = c("White" = 40, "African-American" = 10))
      summary(x)
       #              group        value      
       # African-American:10   Min.   : 1.00  
       # White           :40   1st Qu.:15.25  
       #                       Median :31.00  
       #                       Mean   :34.88  
       #                       3rd Qu.:47.50  
       #                       Max.   :93.00 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-24
        • 1970-01-01
        相关资源
        最近更新 更多