如何随机更改向量中数字的符号?

我有一个很长的数字向量,它们的符号不同(例如):

data <- c(1,-23,67,-21,10,32,64,-34,-6,10)

在 R 中工作,如何创建一个包含相同数字列表的新向量,但给它们一个随机符号(正或负)?对于每个数字,它为负的概率应该是 0.5。

回答

有很多选择,但

sample(c(-1,1), size=length(data), replace=TRUE) * abs(data)

应该管用。您也可以乘以sign(runif(length(data))-0.5)sign(runif(length(data),-1,1))[其中任何一个应该比 更有效sample(),尽管在这种情况下几乎没有关系]。


以上是如何随机更改向量中数字的符号?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>