【发布时间】:2017-07-19 17:09:55
【问题描述】:
我想为几对均值和标准差生成几个从正态分布中采样的随机数。
这些对存储在data frame 中,三列包含对的标识符、均值和标准差,如下例所示:
ex <- data.frame("id" = c("id_1_0.1", "id_2_0.5"), "mean" = c(1, 2), "sd" = c(0.1, 0.5))
为了为每对创建 10 个随机数,我使用了这两行代码:
tmp <- by(cbind(ex$mean, ex$sd), ex$id, function(x) rnorm(10, mean = x[, 1], sd = x[, 2]))
tmp <- do.call(rbind, lapply(tmp, data.frame, stringsAsFactors = FALSE))
然后我想做的是合并两个数据框 ex 和 tmp 以将所有信息放在一个数据框中。
使用这种方法,由于增量,我面临命名问题,因此我无法进行简单的合并。
我应该尝试使用regex 公式解决这个问题还是有更简单的解决方案?
【问题讨论】:
-
对不起,我的答案中引用了错误的变量,临时变量“a”仍在我的全局环境中。