在我的实验中,我想随机进行治疗.
Grain <- tibble::tibble(
Variety = rep(c("CV1", "CV2"), each = 4L),
`N rate` = rep(c("0N", "50N", "100N", "150N"), 2),
`Rep 1` = seq(101, 108, by = 1),
`Rep 2` = seq(201, 208, by = 1),
`Rep 3` = seq(301, 308, by = 1),
`Rep 4` = seq(401, 408, by = 1),
)
Variety N rate Rep 1 Rep 2 Rep 3 Rep 4
CV1 0N 101 201 301 401
CV1 50N 102 202 302 402
CV1 100N 103 203 303 403
CV1 150N 104 204 304 404
CV2 0N 105 205 305 405
CV2 50N 106 206 306 406
CV2 100N 107 207 307 407
CV2 150N 108 208 308 408
所以,我使用了以下代码:
library(dplyr)
set.seed(123)
Grain_randomized <- Grain %>%
group_by(Variety) %>%
mutate(across(starts_with("Rep"), ~ sample(.x))) %>%
ungroup()
Grain_randomized
Variety N rate Rep 1 Rep 2 Rep 3 Rep 4
CV1 0N 103 203 304 403
CV1 50N 104 201 301 402
CV1 100N 101 202 303 401
CV1 150N 102 204 302 404
CV2 0N 107 206 305 405
CV2 50N 106 205 308 406
CV2 100N 108 208 307 408
CV2 150N 105 207 306 407
它是随机的,但CV1总是以第一个数字开始,例如101,201,301,401.我希望这些变量也是随机的,但每个变量的数字应该是连续的,如下所示.
Variety N rate Rep 1 Rep 2 Rep 3 Rep 4
CV1 0N 103 206 304 407
CV1 50N 104 205 301 408
CV1 100N 101 207 303 406
CV1 150N 102 208 302 405
CV2 0N 107 201 305 402
CV2 50N 106 204 308 401
CV2 100N 108 202 307 403
CV2 150N 105 203 306 404
你能帮助我如何随机化像上表一样的变量吗?
谢谢,