r - 具有多列输出的 mutate rnorm

标签 r dplyr

我想使用 rnorm() 创建随机变量,并在 tibble 的单独列中指定平均值和标准差

n <- 2
ti <- tibble(Name = letters[1:10], mean = 1:10, sd = 1:10)

如何使用 mutate 将 n 列添加到 tibble,并为每行输出 rnorm(n,mean,sd)

(我知道我可以在基础 R 中执行此操作,但我很好奇使用 dplyr 了解这是如何工作的)

最佳答案

一个 dplyrtidyr 选项可能是:

ti %>%
 rowwise() %>%
 mutate(col_rnorm = list(setNames(rnorm(n, mean, sd), c("col1", "col2")))) %>%
 unnest_wider(col_rnorm)

  Name   mean    sd  col1    col2
   <chr> <int> <int> <dbl>   <dbl>
 1 a         1     1 -1.73  1.18  
 2 b         2     2  3.86  0.0943
 3 c         3     3  3.54 -0.502 
 4 d         4     4  3.21 -3.90  
 5 e         5     5  3.61  9.48  
 6 f         6     6  7.07 16.1   
 7 g         7     7 17.4   5.95  
 8 h         8     8  5.32 13.6   
 9 i         9     9 19.2  19.8   
10 j        10    10  9.67 11.3 

关于r - 具有多列输出的 mutate rnorm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62452639/

相关文章:

sql - 在R中的表中选择行的快速方法?

r - 我无法使用 font_import 导入字体

r - R 中的嵌套匹配函数

r - 在 R 函数中将列引用传递给 group_by

r - 根据每组的另一个查找表有条件地为一个数据框插入值?

r - 带过滤功能的日期条件非标准评估

r - 在管道R工作流程中为大多数data.frame变量名称添加前缀或后缀

r - 如何在 R 上使用 dodged geom_boxplot 注释每个方面的不同值?

r - 多个 ggplots 导致图例问题

R:根据其他列中的值从一列中选择每 10 个随机条目