这是我之前对substituting simulated variables using rnorm()的查询的分支.

现在,我面临着另一个棘手的问题,因为我是R的初学者.说:

# Values representing the number of simulations for each observation
simulations <- c(728, 680, 631, 583, 534, 486, 437, 388, 340, 291)

# Use lappy to generate the series of simulations for each observation
unit.cost <- lapply(simulations, rnorm, mean = 8403.86, sd = 1000)
bldg.size <- lapply(simulations, rnorm, mean = 35, sd = 5)

考虑到unit.costbldg.sizemeansd是恒定的,如何将模拟变量相互相乘以进行每个观察,从而返回积(相乘的变量)的列表.例如,在第一次观察时,将有728个unit.cost的模拟和728个bldg.size的模拟.我希望将这些模拟相互相乘,以产生一个名为"bldg.cost"的新变量,代表产品.

我还希望 for each 观察结果生成"bldg.cost"的总和.最后,我应该有一个数据框架,反映每个观察的"bldg.cost"之和.

推荐答案

你可以用Map

Map(function(x,y) x * y, unit.cost, bldg.size)

library(tidyverse)

bldg <- tibble(
    simulations,
    unit.cost = lapply(simulations, rnorm, mean = 8403.86, sd = 1000),
    bldg.size = lapply(simulations, rnorm, mean = 35, sd = 5),
    bldg.cost = Map(function(x,y) x * y, unit.cost, bldg.size),
  ) |>
  unnest(cols=c(unit.cost, bldg.size, bldg.cost))

summarise(bldg, sum=sum(bldg.cost), .by=simulations)

R相关问答推荐

按崩溃类别分类的指数

如何根据包含相同值的某些列获取总额

R形式的一维数字线/箱形图样式图表

基于shiny 应用程序中的日期范围子集xts索引

检测(并替换)字符串中的数学符号

行式dppr中的变量列名

保存包含循环和ifelse的函数的输出

判断字符串中数字的连续性

从BRM预测价值

如何对2个列表元素的所有组合进行操作?

使用for循环和粘贴创建多个变量

条形图顶部与其错误条形图不对齐

`夹心::vcovCL`不等于`AER::tobit`标准错误

根据列表中项目的名称合并数据框和列表

自定义gggraph,使geom_abline图层仅在沿x轴的特定范围内显示

将全局环境变量的名称分配给列表中的所有元素

扩展R中包含列表的数据框

R中时间间隔的大向量与参考时间间隔的相交

有没有办法将基于每个值中出现的两个关键字或短语的字符串向量重新编码为具有这两个值的新向量?

使用geom_sf跨越日期线时的闭合边界