全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
7944 5
2011-07-04
生成一个随机数字不难,有谁知道可以生成若干个不重复的随机向量的办法吗?比如生成10000个不重复的二维随机向量c(i,j),生成10000个c(k,l,m)。。。。。。。假定限制i、j、k、l、m。。。。。。。都不超过1500
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-7-5 13:11:50
若是多元正态随机向量,可用mvrnorm产生。
另外安装mvtnorm包之后也可以产生非中心的t分布。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-7-5 22:15:06
set.seed
..................
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-7-12 18:47:08
x<-sample(1:1500,1000)
y<-sample(1:1500,1000)
randxy<-as.data.frame(cbind(x,y))
每一行是一个所要的随机向量,共1000行。
不重复的要求有点不合理,如果真要这样需结合具体要求来生成
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-7-13 00:20:24
楼主的意思生成的向量是要整点吗
如果不要求是整点那就很简单 因为R生成的浮点型随机数是不重复的
y <- runif(1e4)
length(y) == length(unique(y))
一维不重复  高维自然就不重复了
如果是要求整点(i,j), i,j整数,i,j<=1500可以用穷举法
i <- j <- c(1:1500)
mat <- expand.grid(i,j)
y <- mat[sample(1e4),]
这样的y就是不重复的二维整点随机数
高维类似
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-7-13 00:50:46
上面code有个typo,改正:
i <- j <- c(1:1500)
mat <- expand.grid(i,j)
y <- mat[sample(1:nrow(mat),1e4),]
如果为了以后能抽相同的随机样本(to reproduce your results),可以在y <- ...前面加上“set.seed(8);”,8可以是任意数字
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群