[英]sample with dplyr and rowwise
这是我的例子:
library(dplyr)
n_experiments <- 1000
a <- sample(1:3, n_experiments, replace = T)
b <- sample(1:3, n_experiments, replace = T)
my_df <- data.frame(a = a, b= b)
set.seed(7);my_df <- my_df %>% rowwise() %>%
mutate(col_1 = sample(setdiff(c(1,2,3), unique(c(a,b ))),1),
col_2 = sample(setdiff(c(1,2,3), unique(c(a,b ))),1),
set =I(list(unique(c(a,b )))),
set_diff = I(list(setdiff(c(1,2,3), unique(c(a,b ))))),
)
不幸的是,我不知道如何让每个人都重现相同的示例,但这是我在计算机上得到的输出
第一行显示col_1
和col_2
不同,而我希望它们相同。 此外,我希望从set_diff
列中采样col_1
和col_2
。 有人可以帮我澄清我的错误吗?
第一行显示 col_1 和 col_2 不同,而我希望它们相同。
set.seed(7)
确保每次运行脚本时,它都会创建相同的my_df
。 这并不意味着每次运行sample
,它都会采样相同的数字,因此col_1
和col_2
不需要相同。 但是,如果您运行代码两次,两者都会得到相同的col_1
。
我希望从 set_diff 列中采样 col_1 和 col_2。
从sample
的文档:如果 x 的长度为 1,是数字(在 is.numeric 的意义上)并且 x >= 1,则通过样本进行采样从 1:x 开始。 因此,如果set_diff
等于 3,则从c(1,2,3)
抽取样本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.