我有以下功能,'n' 卷'k' 骰子,其中結果是'k' 卷的總和。
rolldie = function(n, k){
# Your code here
die=sample(1:6, size = k, replace = TRUE)
replicate(n, sum(sample(c(1:6),k, replace=TRUE)))
}
rolldie(5, 4)
然后我必須創建一個 ggplot 直方圖來顯示函式的結果,使用 n=1000 和任何 k 值。這就是我卡住的地方,我不確定如何為 rolldie 的結果創建這個直方圖。
uj5u.com熱心網友回復:
ggplot 需要一個資料框,所以你可以試試這個......
library(ggplot2)
data.frame(die_sums = rolldie(1000, 10))|>
ggplot()
geom_histogram(aes(die_sums), binwidth = 1)

由reprex 包于 2022-02-13 創建(v2.0.1)
uj5u.com熱心網友回復:
這是一種解決方案:
library(janitor)
data <- tabyl(rolldie(1000, 1)) %>% rename(Number = 1)
ggplot(data = data, aes(x= as.factor(Number), y=n, label = Number))
geom_col()
geom_text(aes(label = n), vjust = -0.5)
uj5u.com熱心網友回復:
這是具有簡化rolldie功能的解決方案。
滾動模具,列出結果,強制表格data.frame并繪制。
library(ggplot2)
rolldie <- function(n, k){
replicate(n, sum(sample(6, k, replace=TRUE)))
}
set.seed(2022)
n <- 1000
Points <- rolldie(n, 4)
Points <- as.data.frame(table(Points))
ggplot(Points, aes(Points, Freq))
geom_col()

由reprex 包于 2022-02-13 創建(v2.0.1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/427663.html
