如何解决有没有办法在 R 中在整个数据集上重复函数 n 次?
x <- rnorm(100,1)
我想生成一个新对象,其中包含使用 sample(x,size=100,replace=F)
混洗 10,000 次的 x。就像,我想要结束的不是这些重复都混在一起,而是 x 中的每个项目必须出现一次,然后才能出现两次,等等。
我觉得这应该超级简单,但想不起来怎么办?我的第一个想法是 rep()
但这给了我 n 次相同的洗牌,我希望每次洗牌都是独立的。我试过了
repeat{
sample(x,replace=F)
i <- i + 1
if (i == n){
break
}
}
但即使重复次数很少,这也非常慢。还考虑过 apply
系列,但似乎他们打算对列表中的每个项目重复一个命令,而不是对整个列表执行多次操作? (如有不对请指正!)
我非常感谢您的帮助!
解决方法
来自对问题的评论的答案:
reps <- as.vector(replicate(sample(x,replace = F,size = length(x)),n = 10000,simplify = F)
然后将其转换为更有用的格式,
reps <- as.numeric(unlist(reps))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。