1+ library(ggplot2 )
2+ library(Randomization )
13groups <- read.csv(" ./Randomization/development/tesstSaAH.csv" , sep = " ;" , header = TRUE )
24names(groups )[[1L ]] <- " ids"
35groups [, 2 : 6 ] <- apply(groups [, 2 : 6 ], 2 , as.numeric )
@@ -11,28 +13,78 @@ n_blocks <- data.frame(
1113 rep(" Gi" , 10L )
1214 )
1315)
14- n_blocks
1516
16- result <- Randomization :: random_finite_assign(
17- seed = 1234 ,
17+ result_mahalanobis <- random_finite_assign(
18+ seed = 42L ,
1819 groups = groups [, 2 : 6 ],
1920 design = n_blocks ,
2021 max_iter = 1000L ,
21- ids = groups $ ids ,
22+ loss_function = " Mahalanobis" ,
23+ ids = groups $ ids
24+ )
25+ groups_optim_mahalanobis <- groups [result_mahalanobis $ unit_id , 2L : 6L ]
26+ df_optim_mahalanobis <- data.frame (
27+ stack(groups_optim_mahalanobis ),
28+ treatment = rep(n_blocks $ treatment , 5L ),
29+ group = " Mahalanobis"
2230)
23- result
2431
25- df <- data.frame (
26- treatment = n_blocks $ treatment ,
27- groups [result $ unit_id , 2 : 6 ]
32+ result_default <- random_finite_assign(
33+ seed = 42L ,
34+ groups = groups [, 2 : 6 ],
35+ design = n_blocks ,
36+ max_iter = 1000L ,
37+ ids = groups $ ids
38+ )
39+ groups_optim_default <- groups [result_default $ unit_id , 2L : 6L ]
40+ df_optim_default <- data.frame (
41+ stack(groups_optim_default ),
42+ treatment = rep(n_blocks $ treatment , 5L ),
43+ group = " Default"
2844)
29- means <- tapply(df , df $ treatment , function (b ) {
30- b <- c(b [, 2 : 6 ]) | > unlist()
31- mean(b )
32- })
33- sds <- tapply(df , df $ treatment , function (b ) {
34- b <- c(b [, 2 : 6 ]) | > unlist()
35- sd(b )
36- })
37- means
38- sds
45+
46+ df_orig <- data.frame (
47+ stack(groups [, 2L : 6L ]),
48+ treatment = rep(n_blocks $ treatment , 5L ),
49+ group = " origin"
50+ )
51+
52+ df <- Reduce(rbind , list (df_optim_mahalanobis , df_optim_default ))
53+
54+ ggplot(data = df , aes(x = treatment , y = values )) +
55+ stat_summary(
56+ data = df , aes(group = group , linetype = group , colour = group ),
57+ fun = mean , geom = " line" ,
58+ position = position_dodge(width = 0.8 ), color = " black"
59+ ) +
60+ stat_summary(
61+ aes(group = group , colour = group ),
62+ fun.data = mean_sdl ,
63+ fun.args = list (mult = 1 ), # 1 SD
64+ geom = " errorbar" ,
65+ width = 0.2 ,
66+ position = position_dodge(width = 0.8 )
67+ ) +
68+ facet_wrap(~ ind , scales = " free" )
69+
70+
71+ summary <- function (df , fct ) {
72+ res <- list ()
73+ for (g in unique(df $ group )) {
74+ sub1 <- df [df $ group == g , ]
75+ temp1 <- c()
76+ for (i in unique(sub1 $ ind )) {
77+ sub2 <- sub1 [sub1 $ ind == i , ]
78+ temp2 <- c()
79+ for (t in unique(sub2 $ treatment )) {
80+ sub3 <- sub2 [sub2 $ treatment == t , ]
81+ temp2 [[t ]] <- fct(sub3 $ values )
82+ }
83+ temp1 [[i ]] <- temp2 | > unlist()
84+ }
85+ res [[g ]] <- Reduce(rbind , temp1 )
86+ }
87+ res
88+ }
89+ summary(df , mean )
90+ summary(df , sd )
0 commit comments