我创建了一个公平的骰子模拟,但是当我运行它时,只有一个元素存储在10个元素中。我需要全部10个元素具有1到6之间的随机数。
dice<-function(n){
a<-numeric(n)
for(m in 1:n){
b=sample(1:6, size = n, replace = TRUE)
}
if(1==b){
a[m]<-1
}
else if(2==b){
a[m]<-2
}
else if(3==b){
a[m]<-3
}
else if(4==b){
a[m]<-4
}
else if(5==b){
a[m]<-5
}
else if(6==b){
a[m]<-6
}
a
}
x<-dice(10)
我期望输出为:5361324164,但实际输出为:0000000003
答案 0 :(得分:1)
我不明白为什么在足够的情况下为什么要编写这么多额外的代码:
# Throwing dice 10 times.
sample(c(1:6),10,replace = TRUE)
[1] 4 5 2 5 5 2 2 4 6 3
此处为功能:
dice <- function(n) {
sample(c(1:6),n,replace = TRUE)
}
如果要计算发生次数,请使用表格:
table(dice(100))
1 2 3 4 5 6
11 19 15 12 20 23