首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中有没有一种方法可以使用dplyr包对相同数量的因子进行采样?

在R中有没有一种方法可以使用dplyr包对相同数量的因子进行采样?
EN

Stack Overflow用户
提问于 2020-04-26 08:45:37
回答 1查看 27关注 0票数 0

我有以下数据帧:

代码语言:javascript
复制
    > testing
# A tibble: 27,507 x 2
   type      mmr
   <fct>   <dbl>
 1 Public    100
 2 Public    100
 3 Private   100
 4 Public    100
 5 Public    100
 6 Public    100
 7 Public    100
 8 Public    100
 9 Public    100
10 Public    100
# ... with 27,497 more rows

此数据帧具有以下计数:

代码语言:javascript
复制
# A tibble: 2 x 2
  type        n
  <fct>   <int>
1 Private  6815
2 Public  20692

我希望将Public和Private扩展到变量中,但是它们需要具有相等的计数才能做到这一点。有没有办法使用DPLYR软件包对6000个私有和6000个公共样本进行采样,这样我就可以执行分布函数了?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-26 08:48:48

您可以使用sample_n

代码语言:javascript
复制
library(dplyr)

data <- testing %>% group_by(type) %>% sample_n(6000)

请注意,pivot_wider已经替换了spread,因此要获取宽格式的数据,您可以使用

代码语言:javascript
复制
data %>% 
   group_by(a) %>% mutate(row = row_number()) %>%  
   tidyr::pivot_wider(names_from = a, values_from = b) %>%
   #tidyr::spread(a, b) %>%
   select(-row)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61434453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档