r - 生成没有重复值的 pandoc 表

标签 r dplyr pandoc pander

我使用 pander 来生成 pandoc 样式表,我经常需要像这个例子一样抑制重复的变量值:

ta <- data.frame(class=c(rep("C1" ,3), rep("C2", 6)),
                 name=rep(c("L", "V", "C"), each=3), num=rpois(9, 10))

pandoc.table(ta)

输出是

    --------------------
    class   name   num 
    ------- ------ -----
    C1      L     15  

    C1      L     11  

    C1      L      8  

    C2      V      7  

    C2      V      7  

    C2      V      5  

    C2      C     12  

    C2      C      9  

    C2      C     12  
  --------------------

我愿意

    --------------------
    class   name   num 
    ------- ------ -----
    C1      L     15  

                  11  

                   8  

    C2      V      7  

                   7  

                   5  

            C     12  

                   9  

                  12  
  --------------------

问题类似这个Removing Locally Repeated Values当我将 dplyr 用于 data.frames 时,使用 mutate 的解决方案应该是值得的,我试过了但没有成功:

mutate(ta, class=ifelse(lag(class,1) == class & !is.na(lag(class,1)), "", class ))

最佳答案

This seems like an open bug that will be corrected.与此同时,这个解决方法似乎可以完成这项工作:

mutate(ta, class=ifelse(levels(class)[lag(class,1)] == class & !is.na(levels(class)[lag(class,1)]), "", class))
  class name num
1     1    L   8
2          L  14
3          L  12
4     2    V  11
5          V   7
6          V  15
7          C  16
8          C   8
9          C   9

关于r - 生成没有重复值的 pandoc 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30926719/

相关文章:

r - 检查 df1 中的所有名称是否都出现在 df2 中的每个 ID

替换其他数据框的值

r - 如何用组内以前的非 NaN 替换 NaN 值

javascript - 使用 Prism 输出语义代码块

r - lmer 的替代优化算法

r - Shiny可以判断登录nginx反向代理的用途

r - 我怎样才能在给定时间段内获得所有(即 1500 条以上)带有给定主题标签的推文?

javascript - 你可以全局改变 onChange 吗?

r - 如何在 R Markdown 中将选项传递给 LaTeX 字体?

css - 在 Pandoc 中右对齐(一个地址)