Skip to contents

Create a linesep for kable

Usage

linesep(x, n)

Arguments

x

vector, either numerical or logical, position for separation

n

integer, length of result

Value

A character vector of linesep to be used un kable.

Author

This is an adaptation of the function inset of the terra package.

Examples


temp = iris[sample(seq_len(nrow(iris)), 10),]
kable(temp, linesep = linesep(diff(as.integer(temp[["Species"]])) != 0))
#> \begin{table}
#> \centering
#> \begin{tabular}{lrrrrl}
#> \toprule
#>   & Sepal.Length & Sepal.Width & Petal.Length & Petal.Width & Species\\
#> \midrule
#> 15 & 5.8 & 4.0 & 1.2 & 0.2 & setosa\\
#> 44 & 5.0 & 3.5 & 1.6 & 0.6 & setosa\\
#> \midrule
#> 85 & 5.4 & 3.0 & 4.5 & 1.5 & versicolor\\
#> 58 & 4.9 & 2.4 & 3.3 & 1.0 & versicolor\\
#> \midrule
#> 29 & 5.2 & 3.4 & 1.4 & 0.2 & setosa\\
#> \midrule
#> 74 & 6.1 & 2.8 & 4.7 & 1.2 & versicolor\\
#> \midrule
#> 102 & 5.8 & 2.7 & 5.1 & 1.9 & virginica\\
#> 142 & 6.9 & 3.1 & 5.1 & 2.3 & virginica\\
#> \midrule
#> 66 & 6.7 & 3.1 & 4.4 & 1.4 & versicolor\\
#> \midrule
#> 37 & 5.5 & 3.5 & 1.3 & 0.2 & setosa\\
#> \bottomrule
#> \end{tabular}
#> \end{table}
kable(temp, linesep = linesep(temp[["Species"]][-1] != temp[["Species"]][-nrow(temp)]))
#> \begin{table}
#> \centering
#> \begin{tabular}{lrrrrl}
#> \toprule
#>   & Sepal.Length & Sepal.Width & Petal.Length & Petal.Width & Species\\
#> \midrule
#> 15 & 5.8 & 4.0 & 1.2 & 0.2 & setosa\\
#> 44 & 5.0 & 3.5 & 1.6 & 0.6 & setosa\\
#> \midrule
#> 85 & 5.4 & 3.0 & 4.5 & 1.5 & versicolor\\
#> 58 & 4.9 & 2.4 & 3.3 & 1.0 & versicolor\\
#> \midrule
#> 29 & 5.2 & 3.4 & 1.4 & 0.2 & setosa\\
#> \midrule
#> 74 & 6.1 & 2.8 & 4.7 & 1.2 & versicolor\\
#> \midrule
#> 102 & 5.8 & 2.7 & 5.1 & 1.9 & virginica\\
#> 142 & 6.9 & 3.1 & 5.1 & 2.3 & virginica\\
#> \midrule
#> 66 & 6.7 & 3.1 & 4.4 & 1.4 & versicolor\\
#> \midrule
#> 37 & 5.5 & 3.5 & 1.3 & 0.2 & setosa\\
#> \bottomrule
#> \end{tabular}
#> \end{table}

temp = temp[order(temp[["Species"]]), ]
kable(temp, linesep = linesep(cumsum(table(temp[["Species"]]))))
#> \begin{table}
#> \centering
#> \begin{tabular}{lrrrrl}
#> \toprule
#>   & Sepal.Length & Sepal.Width & Petal.Length & Petal.Width & Species\\
#> \midrule
#> 15 & 5.8 & 4.0 & 1.2 & 0.2 & setosa\\
#> 44 & 5.0 & 3.5 & 1.6 & 0.6 & setosa\\
#> 29 & 5.2 & 3.4 & 1.4 & 0.2 & setosa\\
#> 37 & 5.5 & 3.5 & 1.3 & 0.2 & setosa\\
#> \midrule
#> 85 & 5.4 & 3.0 & 4.5 & 1.5 & versicolor\\
#> 58 & 4.9 & 2.4 & 3.3 & 1.0 & versicolor\\
#> 74 & 6.1 & 2.8 & 4.7 & 1.2 & versicolor\\
#> 66 & 6.7 & 3.1 & 4.4 & 1.4 & versicolor\\
#> \midrule
#> 102 & 5.8 & 2.7 & 5.1 & 1.9 & virginica\\
#> 142 & 6.9 & 3.1 & 5.1 & 2.3 & virginica\\
#> \bottomrule
#> \end{tabular}
#> \end{table}