繁体   English   中英

r markdown (knitr::kable): 不打印重复值

[英]r markdown (knitr::kable): not print repeated values

当使用knitr::kable(tibble)如果它们是重复的,是否有办法不显示值?

例如:

var1  var2  var3 
----------------
A     C     1
A     D     2
A     E     3
A     E     4
B     C     1
B     D     2
B     E     3

应打印为:

var1  var2  var3 
----------------
A     C     1
      D     2
      E     3
            4
      C     1
B     D     2
      E     3

您可以使用replaceduplicated删除每个var1中的重复值。

library(dplyr)

result <- df %>%
  group_by(var1) %>%
  mutate(var2 = replace(var2, duplicated(var2), '')) %>%
  ungroup %>%
  mutate(var1 = replace(var1, duplicated(var1), ''))

knitr::kable(result)

在此处输入图片说明

我们可以使用base R

df1[1:2][(cbind(duplicated(df1[1]), duplicated(df1[1:2])))] <- ''
knitr::kable(df1)

-输出

在此处输入图片说明

数据

df1 <- structure(list(var1 = c("A", "A", "A", "A", "B", "B", "B"), var2 = c("C", 
"D", "E", "E", "C", "D", "E"), var3 = c(1L, 2L, 3L, 4L, 1L, 2L, 
3L)), class = "data.frame", row.names = c(NA, -7L))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM