【发布时间】:2017-12-05 11:14:52
【问题描述】:
如何从每个组具有不同行数的组中绘制n 行?
df <- data.frame(matrix(rnorm(80), nrow=40))
df$color <- rep(c("blue", "red", "yellow", "pink"), each=10)
我试过了,
library(dplyr)
outdat <- df %>%
group_by(color) %>%
sample_n(nrow(.), replace = TRUE)
outdat
但这会返回一个data.frame,其中nrow(.) 是来自df 的nrows,而不是子集。
This SO post is close,但定义了特定的行绘制次数。我需要它特定于 dplyr 中的组。
【问题讨论】:
-
我不清楚你想从每组中采样多少行,这与每组的原始行数有什么关系。
-
您想从
df中采样多少行?如果你想要 10 行,你可以使用sample_n(df, 10) -
@Snubian 我想从分组数据中抽取行数。
-
@mt1022 我试过
n(),不能直接使用。Error: This function should not be called directly -
@RonakShah 输出数据应与原始数据具有相同的维度,但观察结果可能会因带放回抽样而有所不同。