[英]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.