1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| set.seed(12345)
RNGkind(sample.kind = "Rejection") # cf. https://community.rstudio.com/t/getting-different-results-with-set-seed/31624
mat1 <- matrix(sample(1:20, 16, rep = FALSE), 4, 4)
mat1
#> [,1] [,2] [,3] [,4]
#> [1,] 14 18 17 15
#> [2,] 19 8 13 10
#> [3,] 16 2 7 12
#> [4,] 11 6 1 9
df1 <- as.data.frame(mat1)
names(df1) <- c("C1","C2","C3","C4")
df1$num <- 1:nrow(df1)
df1 <- reshape2::melt(df1,
id.vars=c("num"),
mesure.vars=c("C1":"C4"),
variable.name="var",
value.name="value")
df1
#> num var value
#> 1 1 C1 14
#> 2 2 C1 19
#> 3 3 C1 16
#> 4 4 C1 11
#> 5 1 C2 18
#> 6 2 C2 8
#> 7 3 C2 2
#> 8 4 C2 6
#> 9 1 C3 17
#> 10 2 C3 13
#> 11 3 C3 7
#> 12 4 C3 1
#> 13 1 C4 15
#> 14 2 C4 10
#> 15 3 C4 12
#> 16 4 C4 9
df1$value <- ifelse(df1$value < 10, paste0("0",df1$value), df1$value)
df1$value <- paste0("V",df1$value)
mat1
#> [,1] [,2] [,3] [,4]
#> [1,] 14 18 17 15
#> [2,] 19 8 13 10
#> [3,] 16 2 7 12
#> [4,] 11 6 1 9
reshape2::acast(df1, num ~ value, length, value.var="value")
#> V01 V02 V06 V07 V08 V09 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19
#> 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0
#> 2 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1
#> 3 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0 0
#> 4 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0
# Created on 2020-08-08 by the [reprex package](https://reprex.tidyverse.org) (v0.3.0) |
Partager