如何在R中自动批量创建符合指定取值范围的随机整数向量
R语言实现多组指定范围随机整数向量生成
以下是两种常用的实现方案,可根据后续使用场景选择:
方案1:生成统一管理的数据集(更推荐)
把20组向量存在同一个数据框中,每行对应1个向量,每列对应指定范围的变量,后续调取、批量处理更方便:
# 设置随机种子可保证结果可复现,不需要可删除该行 set.seed(123) # 生成20组向量组成的数据集 vec_df <- data.frame( Var1 = sample(x = 1:10, size = 20, replace = TRUE), Var2 = sample(x = 1:30, size = 20, replace = TRUE), Var3 = sample(x = 1:20, size = 20, replace = TRUE) ) # 调取第n个向量的方法:取对应行转成数值型即可,例如下方调取第3个向量 as.numeric(vec_df[3, ])
说明:
replace = TRUE表示允许同变量下出现重复取值,如果要求所有向量的同变量取值不重复,可将该参数改为FALSE,但要注意取值范围的长度需要大于生成的向量数量,否则会报错。
方案2:生成独立命名的单个向量
如果确实需要生成20个单独的向量对象(命名为vec_1到vec_20),可以用循环实现:
set.seed(123) for (i in 1:20) { assign( x = paste0("vec_", i), value = c( sample(1:10, 1), sample(1:30, 1), sample(1:20, 1) ) ) } # 直接输入向量名即可调用,例如查看第一个生成的向量 vec_1
内容的提问来源于stack exchange,提问作者mcfly
相关产品推荐
相关产品推荐

