【问题标题】:How to add increment/decrement indicator in R如何在 R 中添加增量/减量指标
【发布时间】:2021-12-15 19:57:53
【问题描述】:

我有一个数据表,想在值旁边添加一个减量/增量指示符,如向上或向下箭头作为新列。您对下面的代码示例有什么建议吗?我已经计算了下面的趋势,并想在该值附近添加类似图标的东西。当值大于 x 时,箭头向上;当值小于 0 时,向下箭头;当值为 0 时,则为“-”。

【问题讨论】:

  • 如果只是为了可视化,我推荐使用包formattable。检查此链接:r-bloggers.com/2018/11/…,尤其是部分:箭头(和隐藏列)
  • 由于某些原因,这对我不起作用。但我已经知道这个包,这是一个非常好的机会。我正在考虑在图标所在的位置添加一个新列。根据 if 子句,相应的图标将插入到该列中。

标签: r icons data-visualization


【解决方案1】:

如果您想直接在 R 控制台中使用一列向上和向下箭头,则需要使用 unicode 符号。由于您的示例数据主要由 NA 值组成,并且不允许绘制所有三种箭头类型,因此我修改了示例以说明如何实现这一点。通过复制和粘贴到您的控制台,以下代码应该是完全可重现的:

library(dplyr)

set.seed(3)

df1 <- data.frame(DATES = seq(as.Date("2020-11-20"), by = "month", length = 13),
                  TREND = round(runif(13, -10, 10)))

df1 %>% 
   mutate(CHANGE = ifelse(TREND < 0, "\u2193",
                          ifelse(TREND == 0, "\u2194", "\u2191"))) %>%
         as.matrix() %>% 
         noquote()

      DATES      TREND CHANGE
 [1,] 2020-11-20 -7    ↓     
 [2,] 2020-12-20  6    ↑     
 [3,] 2021-01-20 -2    ↓     
 [4,] 2021-02-20 -3    ↓     
 [5,] 2021-03-20  2    ↑     
 [6,] 2021-04-20  2    ↑     
 [7,] 2021-05-20 -8    ↓     
 [8,] 2021-06-20 -4    ↓     
 [9,] 2021-07-20  2    ↑     
[10,] 2021-08-20  3    ↑     
[11,] 2021-09-20  0    ↔     
[12,] 2021-10-20  0    ↔     
[13,] 2021-11-20  1    ↑   

reprex package (v2.0.0) 于 2021-11-01 创建

【讨论】:

    【解决方案2】:

    也许你可以试试 sjPlot:

      library(sjPlot)
      df1 <- df1 %>% mutate(symbol = ifelse(TREND > 0, 
                           paste("<p>&#8593;</p>"),NA))
      
      sjPlot::tab_df(df1)
      
    

    【讨论】:

      猜你喜欢
      • 2022-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-19
      • 2017-01-26
      • 1970-01-01
      • 1970-01-01
      • 2017-03-07
      相关资源
      最近更新 更多