gpt4 book ai didi

r - 在 data.table (R) 中按组高效生成随机变量

转载 作者:行者123 更新时间:2023-12-05 02:22:11 25 4
gpt4 key购买 nike

我有以下示例数据,我正在尝试通过大量组创建随机数,但这会花费太多时间。我想知道是否有一种有效的方法:

library(data.table)
d <- mtcars
n <- 10000
k1<-rbindlist(replicate(n, d, simplify = FALSE))
k1[,factor_var:=rep(seq(1,80000),4)] #sample data
#generating random number
k1[,rand:=runif(nrow(k1),0,1),factor_var]

最佳答案

你可以使用这个命令。

k1[, rand:=runif(.N, 0, 1), factor_var]

从 R 每次计算行数的意义上讲,使用 nrow 很慢。您应该使用 .N 或预先计算 nrow,如下所示

nr <- nrow(k1)
k1[, rand:=runif(nr, 0, 1), factor_var]

关于r - 在 data.table (R) 中按组高效生成随机变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30465867/

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