library(tidyverse)
set.seed(55)
a <- c(100 %>% rnorm(10, mean = .))
b <- c(rnorm(100, 10, mean = 100))
identical(a, b)
[1] FALSE
我正在查看a
变量。我对'管道'的理解是,它将对象传递到'管道'的左侧作为以下函数的第一个参数,并且它还将对象的任何(。)填充到管道左侧。 / p>
如果是这样,我的b
变量将等同于我的a
变量,但事实并非如此。为什么不将100
变量的rnorm()
作为a
中的第一个参数传递?
答案 0 :(得分:3)
重置种子并将其设置为真正相同的功能会产生相同的结果。
library(tidyverse)
set.seed(55)
a <- c(100 %>% rnorm(10, mean = 100))
set.seed(55)
b <- c(rnorm(100, 10, mean = 100))
identical(a, b)
[1] TRUE
magrittr
包中的点决定了从管道传递来的值的放置位置,它不会重复。因此,您的第一个函数仅生成10个示例,而不是100个。