我使用的是钻石数据集:
install.packages("ggplot2")
library(ggplot2)
data("diamonds")
我必须制作一个数据框,从每个切割质量(一般,良好,非常好,高级,理想)中随机抽取100个价格,这将给我500个数据点。我在到达那里遇到了一些困难,任何帮助都将不胜感激!这是一个我尝试过的公式,但我似乎无法计算出如何包含属于“cut”的所有子集。
diamonds$price[ sample( diamonds$cut, size=100, replace=FALSE )]
我也尝试使用聚合函数,但这似乎使我离我应该去的地方更远了。我确信我错过了一些相当明显的东西,但我对此非常陌生,我在网上找不到任何关于它的东西。谢谢!
多亏了Camille,我才能这样做:
Test.1<-diamonds %>%
group_by(cut) %>%
sample_n(size = 100) %>%
count(price)
我现在似乎不能处理这些数据,因为我需要找到每个切割质量的平均标准差等。
发布于 2019-02-22 03:56:47
你可以使用split-apply-combine逻辑来完成。
library(ggplot2)
data(diamonds)
head(diamonds)
xy <- split(diamonds, f = diamonds$cut)
xy <- lapply(xy, FUN = function(x) {
x[sample(1:nrow(x), 100), ]
})
xy <- do.call(rbind, xy)
table(xy$cut)
Fair Good Very Good Premium Ideal
100 100 100 100 100
https://stackoverflow.com/questions/54815056
复制相似问题