如何总结从分类列中获取随机值?

How to summarise taking a random value from a categorical column?

我有两个物种和它们的一些值。

values <- c(1,2,3,4,5,6,7,8,9,10)
spp <- c(rep("a",5), rep("b",5))
df <- data.frame(spp, values, stringsAsFactor = FALSE)

我想总结数据框,按这些物种分组。我的想法是总结,按物种获得随机值。使用 dplyr 哲学,我想这样做:

n.df <- df %>%
group_by(spp) %>%
summarise(value = sample(value))

但是 sample 函数无法用于 summarise

有人有解决办法吗?

由于您正在使用 dplyr,您还可以利用 sample_n 功能,即

library(dplyr)

df %>%
   group_by(spp) %>%
   sample_n(1)

这给出了,

# A tibble: 2 x 2
# Groups:   spp [2]
  spp   values
  <chr>  <dbl>
1 a          2
2 b          9