4

来自 SAS 的 R 新手...

我想使用该函数为每行创建一个包含 1,000 个随机数的向量

runif(1,000, min = 0, max = 1) 

并将其添加到我的data.frame.

尝试这个给我每行相同的数字:

EL$randoms <- runif(1, min = 0, max = 1)  

我该如何解决这个简单的问题?

4

3 回答 3

6

这边走 ?

EL$randoms <- runif(1000, min=0, max=1)

El$randoms是数据框的一整列。因此,您必须为其分配与行数一样多的值。根据您的尝试,只生成了一个随机数,并且 R 根据其回收规则,根据需要“重复”它多次以匹配EL$randoms.

于 2013-02-25T22:15:45.410 回答
6

这次聚会迟到了,但它出现在谷歌搜索中。这是一种为数据集中的每一行分配一个随机数的方法,而无需指定确切的行数。

EL$randoms <- runif(nrow(EL), min = 0, max = 1)
于 2016-04-05T14:53:40.583 回答
1

tidyverse这是使用流行的较新语法的强制性答案:

mtcars %>% 
    add_column(runif = runif(nrow(.)))
于 2020-10-05T23:16:48.233 回答