samples<-c("A","A","A","A","B","B")
groups<-c(1,1,1,2,1,1)
df<- data.frame(samples,groups)
df
samples groups
1 A 1
2 A 1
3 A 1
4 A 2
5 B 1
6 B 1
samples groups
1 A 1
2 A 1
3 A 2
4 B 1
5 B 1
您可以对每个组的最小行数或x
进行采样:
library(dplyr)
x <- 2
df %>% group_by(samples, groups) %>% sample_n(min(n(), x))
# samples groups
# <chr> <dbl>
#1 A 1
#2 A 1
#3 A 2
#4 B 1
#5 B 1
但是,请注意,sample_n()
已经为slice_sample
添加了超级种子,但是n()
不能用于slice_sample
。这里有一个开放的问题。
但是,正如@tmfmnk提到的,我们不需要在这里调用n()
。尝试:
df %>% group_by(samples, groups) %>% slice_sample(n = x)
问题内容: 有没有办法例如!每n秒打印一次?例如,程序将遍历我拥有的所有代码,然后经过5秒(带有),它将执行该代码。我将使用它来更新文件,但不打印Hello World。 例如: 问题答案:
问题内容: 我正在努力寻找以下问题的最佳解决方案。假设我有一个像这样的表“ Table”: 我想为集合中的每个值选择:(’name1’,’name2’)10个随机唯一行。当然,可以像这样进行联合: 但是,如果我有100个唯一的名称,而我必须为其选择10个随机记录,则此查询将有点大。 提前非常感谢 问题答案: SQLFiddle演示
目标是为每个组在数据帧中采样(不替换)不同数量的行。特定组要采样的行数在另一个数据帧中。 示例:idDF是要从中采样的数据帧。这些组由ID列表示。数据框planDF指定每个组要采样的行数,其中“datesToUse”表示行数,“ID”表示组。“totalDates”是该组的总行数,可能有用,也可能无用。 最终结果应包括从第一组(ID 1)中取样的3行、从第二组(ID 2)中取样的2行和从第三组(I
问题内容: 我有大约1000行的表。我必须将n个随机行的表中的column(“ X”)更新为’Y’。为此,我可以有以下查询 是否有另一种有效的方式来编写此查询。该表没有索引。请帮忙? 问题答案: 我将使用ROWID: 我使用ROWID的实际原因并不是为了提高效率(它仍然会进行全表扫描)-如果列不是唯一的,则您的SQL可能不会更新所需的行数。 只有1000行,您不必担心效率(也许有一亿行)。该表上没
问题内容: 在不从javascript中的数组进行替换的情况下,获取随机样本的一种干净方法是什么?所以假设有一个数组 我想随机采样5个唯一值;例如,生成一个长度为5的随机子集。要生成一个随机样本,可以执行以下操作: 但是,如果多次执行此操作,则可能会多次捕获同一项。 问题答案: 我建议使用Fisher-Yates混洗混洗数组的副本并进行切片: 请注意,这不是获取大型数组的随机小子集的最有效方法,因
我想知道有没有人能帮我把一个较长的行分成几个较短的行,然后再把它们拆开? 在本例中,我有12列长的行,我希望将其分成更多的行和4列(请参阅stack_df)。 总体计划是按行合并()所有列,并将()突变为一列(9行x 1列,请参阅merge_df)。 之后,我希望将它们解压回一个大小为3行3列的数据帧(请参阅simple_df) 第3部分:解叠行(3行,3列)。(所需输出)