这是我的示例:
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
不同,而我希望它们是相同的。此外,我希望从col_1
列中采样col_2
和set_diff
。有人可以帮助我澄清我的错误吗?
第一行显示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)
提取样本。