3
我在嘗試對排列進行分層時遇到問題。使用bootstrap進行分層排列
我的數據是這樣的:
gender party value
1 F Democrat 762
2 M Democrat 484
3 F Independent 327
4 M Independent 239
5 F Republican 468
6 M Republican 477
什麼,我只是試圖做的是party
library(dplyr)
md %>%
group_by(party) %>%
mutate(perm = sample(gender))
,給了我一個正確的隨機排列,以分層隨機排列
gender party value perm
1 F Democrat 762 M
2 M Democrat 484 F
3 F Independent 327 M
4 M Independent 239 F
5 F Republican 468 F
6 M Republican 477 M
我想多次重複此操作。繼提出的解決方案here(非分層排列)
library(broom)
md %>%
bootstrap(100) %>%
do(data.frame(., treat = sample(.$gender, 6, replace=TRUE)))
不過,我沒能引進group_by
說法。
md %>%
bootstrap(10) %>%
group_by(party) %>%
do(data.frame(., treat = sample(.$gender, 6, replace=TRUE)))
有什麼想法嗎?
另外,bootstrap
功能其實很慢。任何想法爲什麼?任何解決方案,使其更快?我們可以以某種方式平行嗎?
library(reshape2)
M <- as.table(rbind(c(762, 327, 468), c(484, 239, 477)))
dimnames(M) <- list(gender = c("F", "M"),
party = c("Democrat","Independent", "Republican"))
md = melt(M)
是否'MD%>%GROUP_BY(方)%>%的自舉(10,by_group = TRUE)%>%的人( data.frame(。,treat = sample(。$ gender,6,replace = TRUE)))'work? – Axeman
您寫過,*我想多次重複此操作*但預期輸出是多少?使用'replicate'怎麼樣? – agstudy
@agstudy複製是一種可能性,我在提到的問題中使用它。它只是使代碼繁瑣。 – giacomo