R中的数据帧/小标题中的示例分组行

问题描述 投票:0回答:1

我有以下数据集

df = data.frame("Country" = rep(sample(c("USA", "Germany", "Japan", "Slovakia", "Togo")),2))
df$Value = sample(c(1:1000), 10) 

现在,我想从该df中随机抽取3个国家/地区。这意味着我想拥有属于3个国家的所有6行。因此,每当我决定从一个可变的国家/地区抽样时​​,我总是得到与该国家/地区有关的所有(此处为两行)数据。

我该怎么办,以下代码始终无法工作,有时仅返回两个国家/地区

df %>% filter(Country %in% sample(Country, 3))

谢谢!

r dplyr sample
1个回答
0
投票

我们可以用unique包装,以从“国家/地区”中删除重复项,并在sample中使用,以确保始终有3个sample“国家/地区”

df %>% 
   filter(Country %in% sample(unique(Country), 3))
© www.soinside.com 2019 - 2024. All rights reserved.