gpt4 book ai didi

r - 使用 runif 计算 data.table 中的列

转载 作者:行者123 更新时间:2023-12-04 17:08:39 25 4
gpt4 key购买 nike

我想使用 runif 为数据表中的每一行生成一个随机数。不幸的是,我最终在每一行中得到相同的数字。

require(data.table)
dx <- data.table( min=1:10, max=seq(10,100,10))
dx[, sum:=min+max]
dx[, runif:=runif(n=1,min,max)]

> dx
min max sum runif
1: 1 10 11 5.086488
2: 2 20 22 5.086488
3: 3 30 33 5.086488
4: 4 40 44 5.086488
5: 5 50 55 5.086488
6: 6 60 66 5.086488
7: 7 70 77 5.086488
8: 8 80 88 5.086488
9: 9 90 99 5.086488
10: 10 100 110 5.086488

为什么 runif 会这样,但加法效果很好?
有人可以建议如何使用每行的最小值和最大值来为该行生成均匀分布的随机数吗?

最佳答案

我觉得只是

dx[, runif := runif(.N, min, max)]

应该这样做。通过设置 n=1您要求生成一个值,然后将其回收到适当的长度。 minmax仍然以适当的矢量化方式处理。

关于r - 使用 runif 计算 data.table 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31467934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com