split_byrow_bycol.Rd
Split matrix or dataframe into list by columns or by rows
split_bycol(x, idx = NULL, as.list = FALSE)
split_byrow(x, idx = NULL)
Matrix or dataframe.
Index to split by. If NULL, split by columns or rows.
If TRUE, return list of dataframes. If FALSE, return list of matrices.
x <- mtcars[1:3, 1:6]
x |> split_bycol()
#> [[1]]
#> mpg
#> Mazda RX4 21.0
#> Mazda RX4 Wag 21.0
#> Datsun 710 22.8
#>
#> [[2]]
#> cyl
#> Mazda RX4 6
#> Mazda RX4 Wag 6
#> Datsun 710 4
#>
#> [[3]]
#> disp
#> Mazda RX4 160
#> Mazda RX4 Wag 160
#> Datsun 710 108
#>
#> [[4]]
#> hp
#> Mazda RX4 110
#> Mazda RX4 Wag 110
#> Datsun 710 93
#>
#> [[5]]
#> drat
#> Mazda RX4 3.90
#> Mazda RX4 Wag 3.90
#> Datsun 710 3.85
#>
#> [[6]]
#> wt
#> Mazda RX4 2.620
#> Mazda RX4 Wag 2.875
#> Datsun 710 2.320
#>
x |> split_bycol(as.list=TRUE)
#> $mpg
#> [1] 21.0 21.0 22.8
#>
#> $cyl
#> [1] 6 6 4
#>
#> $disp
#> [1] 160 160 108
#>
#> $hp
#> [1] 110 110 93
#>
#> $drat
#> [1] 3.90 3.90 3.85
#>
#> $wt
#> [1] 2.620 2.875 2.320
#>
x |> split_bycol(as.list=FALSE)
#> [[1]]
#> mpg
#> Mazda RX4 21.0
#> Mazda RX4 Wag 21.0
#> Datsun 710 22.8
#>
#> [[2]]
#> cyl
#> Mazda RX4 6
#> Mazda RX4 Wag 6
#> Datsun 710 4
#>
#> [[3]]
#> disp
#> Mazda RX4 160
#> Mazda RX4 Wag 160
#> Datsun 710 108
#>
#> [[4]]
#> hp
#> Mazda RX4 110
#> Mazda RX4 Wag 110
#> Datsun 710 93
#>
#> [[5]]
#> drat
#> Mazda RX4 3.90
#> Mazda RX4 Wag 3.90
#> Datsun 710 3.85
#>
#> [[6]]
#> wt
#> Mazda RX4 2.620
#> Mazda RX4 Wag 2.875
#> Datsun 710 2.320
#>
x |> split_bycol(idx=c(1,1,1,2,2,3,3,3))
#> [[1]]
#> mpg cyl disp
#> Mazda RX4 21.0 6 160
#> Mazda RX4 Wag 21.0 6 160
#> Datsun 710 22.8 4 108
#>
#> [[2]]
#> hp drat
#> Mazda RX4 110 3.90
#> Mazda RX4 Wag 110 3.90
#> Datsun 710 93 3.85
#>
#> [[3]]
#> wt
#> Mazda RX4 2.620
#> Mazda RX4 Wag 2.875
#> Datsun 710 2.320
#>
## x |> split_bycol(idx=c(1,1,7,2,2,3,3,3)) ## Gives error
x <- mtcars[1:6, 1:6]
x |> split_byrow()
#> $`1`
#> mpg cyl disp hp drat wt
#> Mazda RX4 21 6 160 110 3.9 2.62
#>
#> $`2`
#> mpg cyl disp hp drat wt
#> Mazda RX4 Wag 21 6 160 110 3.9 2.875
#>
#> $`3`
#> mpg cyl disp hp drat wt
#> Datsun 710 22.8 4 108 93 3.85 2.32
#>
#> $`4`
#> mpg cyl disp hp drat wt
#> Hornet 4 Drive 21.4 6 258 110 3.08 3.215
#>
#> $`5`
#> mpg cyl disp hp drat wt
#> Hornet Sportabout 18.7 8 360 175 3.15 3.44
#>
#> $`6`
#> mpg cyl disp hp drat wt
#> Valiant 18.1 6 225 105 2.76 3.46
#>
x |> split_byrow(idx=c(1,1,2,2))
#> $`1`
#> mpg cyl disp hp drat wt
#> Mazda RX4 21.0 6 160 110 3.90 2.620
#> Mazda RX4 Wag 21.0 6 160 110 3.90 2.875
#> Hornet Sportabout 18.7 8 360 175 3.15 3.440
#> Valiant 18.1 6 225 105 2.76 3.460
#>
#> $`2`
#> mpg cyl disp hp drat wt
#> Datsun 710 22.8 4 108 93 3.85 2.320
#> Hornet 4 Drive 21.4 6 258 110 3.08 3.215
#>
m <- as.matrix(x)
u <- x |> split_byrow(idx=c(1,1,2,2))
y <- m |> split_byrow(idx=c(1,1,2,2))