如何总结从分类列中获取随机值?
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
我有两个物种和它们的一些值。
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