【问题标题】:calculate a new variable with random numbers用随机数计算一个新变量
【发布时间】:2021-02-06 11:45:18
【问题描述】:

我很确定我的问题的解决方案一定非常简单,但我真的陷入了困境。

一个简单的df:

df <- data.frame(
  "v1" = c(0.1, 0.2,0.6,0.8))

我想计算一个新变量,它是来自min = 0max = v1 的均匀分布的随机数。 我使用的是runif(),但对于新变量的每个值,我得到了相同的结果。

提前谢谢你!

【问题讨论】:

  • 你的意思是 min=0 and max=v1 还是 min=0 and max=max(v1) 甚至 min=0 and max=v1 (rowwise)?

标签: r dataframe random


【解决方案1】:

您可以将runif 用作:

df$v2 <- runif(nrow(df), min = 0, max = df$v1)

【讨论】:

    【解决方案2】:

    我们可以使用

    library(dplyr)
    df %>%
       mutate(v2 = runif(n(), min = 0, max = v1))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多