从集合中生成随机数

  • 本文关键字:随机数 集合 r
  • 更新时间 :
  • 英文 :


我想创建一个函数 k(n(,它从集合 {0,1,2,3,4,5,6,7,8,9,10} 中绘制"n"次(每个概率相同(,然后如果这是奇数或偶数,它就会写入每个数字。例如:

k(3( 绘制数字 1,6,8,然后我的函数打印:

1 是奇数

6是偶数

8是偶数

到目前为止我的工作:

关于检查奇偶数函数:

k=function(x)
if((x %% 2) == 0) {
print(paste(x,"is Even"))
} else {
print(paste(x,"is Odd"))
}

我对下一个问题有以下想法:我将从集合 {0,1,2,3,4,5,6,7,8,9,10} 绘制 n 次,得到一个长度为 n 的列表。然后我将对该列表使用 sapply 函数。

但是我在从上面的集合中绘制 n 次时遇到问题。你能帮我解决这个问题吗,如果我的想法是正确的,你能不能提到?

您没有显示问题是什么或如何绘制随机数,但我猜您正在使用sample().阅读该函数的手册页。默认行为是选择不替换,例如:

sample(1:5, 5)
# [1] 2 5 3 1 4
sample(1:5, 6)

错误在 sample.int(长度(x(, 大小, 替换, 概率( : 当"替换 = FALSE"时,无法获取大于总体的样本

您需要用替换样本抽取样品,例如:

set <- 0:10
set.seed(42)
x <- sample(set, 5, replace=TRUE)
OE <- ifelse(x %% 2 == 0, "Even", "Odd")
cat("n", paste(x, "is", OE, "n"))
# 
#  0 is Even 
#  4 is Even 
#  0 is Even 
#  8 is Even 
#  9 is Odd 

请注意,现在 0 出现了两次。由于它将随机数种子设置为 42,因此您应该获得此处显示的相同值。

最新更新