我有一个shiny 的应用程序来制作定制的图表.我用ggploy来处理它们,然后将它们转换成Ploly对象,这样它们就是交互的.我对面积图的问题是,当人们将鼠标悬停在曲线图上时,它只显示整个图表中第一个数据点的每个变量的值.

我已经在我的数据中创建了一个名为"HOVER_TEXT"的列,其中包含我希望在悬停时 for each 数据点显示的内容.然后,我将这个参数传递给了我的ggploy对象中的aes,文本参数(我也try 将其添加到geom_area的aes中,但仍然不起作用).之后,我在ggploly中添加了TOOLTIP="Text"参数,但这将返回一个空图表.

这是我的数据示例(您可以在文章末尾使用dput找到该数据):

 OBS        GroupBy   AVP hover_text                            
    <date>     <chr>   <dbl> <chr>                                 
  1 2013-01-05 all      66.6 OBS:2013-01-05 Value:66.55 GroupBy:all
  2 2013-01-12 all      66.7 OBS:2013-01-12 Value:66.74 GroupBy:all
  3 2013-01-19 all      63.7 OBS:2013-01-19 Value:63.72 GroupBy:all
  4 2013-01-26 all      64.6 OBS:2013-01-26 Value:64.62 GroupBy:all
  5 2013-02-02 all      68.4 OBS:2013-02-02 Value:68.37 GroupBy:all
  6 2013-02-09 all      76.9 OBS:2013-02-09 Value:76.94 GroupBy:all
  7 2013-02-16 all      70.2 OBS:2013-02-16 Value:70.16 GroupBy:all
  8 2013-02-23 all      69.8 OBS:2013-02-23 Value:69.78 GroupBy:all
  

这是返回空图表的代码:

library(shiny)
library(plotly)
library(dplyr)
library(ggplot2)

# Function for plot

AreaPlot <- function(data = data,
                     y1 = "AVP",
                     date_brks_area = "1 month",
                     topn = 10,
                     x_label_area = "",
                     y_label_area = "",
                     x_axis_area = "%Y-%m-%d",
                     overlap = FALSE,
                     alpha = 1) {
  gdata <- data
  gdata[[y1]][is.na(gdata[[y1]])] <- 0
  
  if (is.na(min(gdata$OBS))) {
    stop("")
  }
  
  brks <- seq(
    from = as.Date(min(gdata$OBS)),
    to = as.Date(max(gdata$OBS)),
    by = date_brks_area
  )
  
  group_levels <- gdata %>%
    group_by(GroupBy) %>%
    summarise(Value = sum(!!rlang::sym({{ y1 }}), na.rm = TRUE)) %>%
    ungroup() %>%
    arrange(Value) %>%
    filter(Value != 0) %>%
    top_n(topn) %>%
    select(GroupBy)
  
  gdata <- gdata %>%
    mutate(
      GroupBy = ifelse(
        GroupBy %in% t(group_levels),
        GroupBy,
        "Other"
      )
    )
  
  gdata <- gdata %>%
    group_by(OBS, GroupBy) %>%
    summarise(Value = sum(!!rlang::sym(y1), na.rm = TRUE),
              hover_text)
  
  area_gg <- ggplot(
    gdata,
    aes(
      x = OBS,
      y = Value,
      text = hover_text
      
    )
  )
  area_gg <- area_gg +
    geom_area(aes(fill = GroupBy),
              alpha = alpha)
  
  
  area_gg <- area_gg +
    labs(fill = "") +
    xlab(x_label_area) +
    ylab(y_label_area) +
    scale_x_date(
      breaks = brks,
      date_labels = x_axis_area,
      guide = guide_axis(check.overlap = overlap)
    ) +
    theme(
      axis.text.x = element_text(
        angle = 45
      )
    )
  
  area_gg
}



# UI Area plot

sidebar <- dashboardSidebar(
  collapsed = TRUE,
  skin = "light",
  sidebarMenu(
    id = "sidebar",
    menuItem(
      text = "Area Chart",
      tabName = "areaplot",
      icon = icon("chart-area")
    )
  )
)


# Define UI for application
ui <- fluidPage(
  titlePanel("Area Chart"),
  
  mainPanel(
    plotlyOutput("areaplot")
  )
)


# Define server logic
server <- function(input, output) {
  
  #Server area plot
  
  areaInput <- reactive({
    
    areagg <- AreaPlot(
      data = data,
      y1 = "AVP",
      date_brks_area = "1 month",
      topn = 10,
      x_label_area = "",
      y_label_area = "",
      x_axis_area = "%Y-%m-%d",
      overlap = FALSE,
      alpha = 1
    )
    areagg
  })
  
  
  output$areaplot <- renderPlotly({
    
    areagg <- ggplotly(areaInput(),tooltip = "text") %>%
    # areagg <- ggplotly(areaInput()) %>%
      layout(
        xaxis = list(autorange = TRUE),
        yaxis = list(autorange = TRUE)
      )
    areagg
  })
  
}

# Run the application 
shinyApp(ui = ui, server = server)

这是返回图表的那个,但悬停不起作用,因为它返回整个图表中第一个数据点的信息:

library(shiny)
library(plotly)
library(dplyr)
library(ggplot2)

# Function for plot

AreaPlot <- function(data = data,
                     y1 = "AVP",
                     date_brks_area = "1 month",
                     topn = 10,
                     x_label_area = "",
                     y_label_area = "",
                     x_axis_area = "%Y-%m-%d",
                     overlap = FALSE,
                     alpha = 1) {
  gdata <- data
  gdata[[y1]][is.na(gdata[[y1]])] <- 0
  
  if (is.na(min(gdata$OBS))) {
    stop("")
  }
  
  brks <- seq(
    from = as.Date(min(gdata$OBS)),
    to = as.Date(max(gdata$OBS)),
    by = date_brks_area
  )
  
  group_levels <- gdata %>%
    group_by(GroupBy) %>%
    summarise(Value = sum(!!rlang::sym({{ y1 }}), na.rm = TRUE)) %>%
    ungroup() %>%
    arrange(Value) %>%
    filter(Value != 0) %>%
    top_n(topn) %>%
    select(GroupBy)
  
  gdata <- gdata %>%
    mutate(
      GroupBy = ifelse(
        GroupBy %in% t(group_levels),
        GroupBy,
        "Other"
      )
    )
  
  gdata <- gdata %>%
    group_by(OBS, GroupBy) %>%
    summarise(Value = sum(!!rlang::sym(y1), na.rm = TRUE))
  
  area_gg <- ggplot(
    gdata,
    aes(
      x = OBS,
      y = Value
    )
  )
  area_gg <- area_gg +
    geom_area(aes(fill = GroupBy),
              alpha = alpha)
  
  
  area_gg <- area_gg +
    labs(fill = "") +
    xlab(x_label_area) +
    ylab(y_label_area) +
    scale_x_date(
      breaks = brks,
      date_labels = x_axis_area,
      guide = guide_axis(check.overlap = overlap)
    ) +
    theme(
      axis.text.x = element_text(
        angle = 45
      )
    )
  
  area_gg
}



# UI Area plot

sidebar <- dashboardSidebar(
  collapsed = TRUE,
  skin = "light",
  sidebarMenu(
    id = "sidebar",
    menuItem(
      text = "Area Chart",
      tabName = "areaplot",
      icon = icon("chart-area")
    )
  )
)


# Define UI for application
ui <- fluidPage(
  titlePanel("Area Chart"),
  
  mainPanel(
    plotlyOutput("areaplot")
  )
)


# Define server logic
server <- function(input, output) {
  
  #Server area plot
  
  areaInput <- reactive({
    
    areagg <- AreaPlot(
      data = data,
      y1 = "AVP",
      date_brks_area = "1 month",
      topn = 10,
      x_label_area = "",
      y_label_area = "",
      x_axis_area = "%Y-%m-%d",
      overlap = FALSE,
      alpha = 1
    )
    areagg
  })
  
  
  output$areaplot <- renderPlotly({
    
    # areagg <- ggplotly(areaInput(),tooltip = "text") %>%
    areagg <- ggplotly(areaInput()) %>%
      layout(
        xaxis = list(autorange = TRUE),
        yaxis = list(autorange = TRUE)
      )
    areagg
  })
  
}

# Run the application 
shinyApp(ui = ui, server = server)

唯一的区别是在ggploly调用中增加了"hover_text"和工具提示.

我不明白为什么在第二个例子中只显示了第一个数据点的信息,我也不明白为什么添加工具提示和文本的选项也不起作用.

有没有人能帮忙或指出正确的方向?我已经阅读了其他一些关于类似问题的StackOverflow帖子,但无法找到解决我的问题的方法.

根据ggplotly文档,它应该工作,所以也许它是gplotly/shiny 的一个bug?

您可以使用下面的dput找到一个数据示例:

structure(list(OBS = structure(c(15710, 15717, 15724, 15731, 
15738, 15745, 15752, 15759, 15766, 15773, 15780, 15787, 15794, 
15801, 15808, 15815, 15822, 15829, 15836, 15843, 15850, 15857, 
15864, 15871, 15878, 15885, 15892, 15899, 15906, 15913, 15920, 
15927, 15934, 15941, 15948, 15955, 15962, 15969, 15976, 15983, 
15990, 15997, 16004, 16011, 16018, 16025, 16032, 16039, 16046, 
16053, 16060, 16067, 16074, 16081, 16088, 16095, 16102, 16109, 
16116, 16123, 16130, 16137, 16144, 16151, 16158, 16165, 16172, 
16179, 16186, 16193, 16200, 16207, 16214, 16221, 16228, 16235, 
16242, 16249, 16256, 16263, 16270, 16277, 16284, 16291, 16298, 
16305, 16312, 16319, 16326, 16333, 16340, 16347, 16354, 16361, 
16368, 16375, 16382, 16389, 16396, 16403, 16410, 16417, 16424, 
16431, 16438, 16445, 16452, 16459, 16466, 16473, 16480, 16487, 
16494, 16501, 16508, 16515, 16522, 16529, 16536, 16543, 16550, 
16557, 16564, 16571, 16578, 16585, 16592, 16599, 16606, 16613, 
16620, 16627, 16634, 16641, 16648, 16655, 16662, 16669, 16676, 
16683, 16690, 16697, 16704, 16711, 16718, 16725, 16732, 16739, 
16746, 16753, 16760, 16767, 16774, 16781, 16788, 16795), class = "Date"), 
    GroupBy = c("all", "all", "all", "all", "all", "all", "all", 
    "all", "all", "all", "all", "all", "all", "all", "all", "all", 
    "all", "all", "all", "all", "all", "all", "all", "all", "all", 
    "all", "all", "all", "all", "all", "all", "all", "all", "all", 
    "all", "all", "all", "all", "all", "all", "all", "all", "all", 
    "all", "all", "all", "all", "all", "all", "all", "all", "all", 
    "all", "all", "all", "all", "all", "all", "all", "all", "all", 
    "all", "all", "all", "all", "all", "all", "all", "all", "all", 
    "all", "all", "all", "all", "all", "all", "all", "all", "all", 
    "all", "all", "all", "all", "all", "all", "all", "all", "all", 
    "all", "all", "all", "all", "all", "all", "all", "all", "all", 
    "all", "all", "all", "all", "all", "all", "all", "all", "all", 
    "all", "all", "all", "all", "all", "all", "all", "all", "all", 
    "all", "all", "all", "all", "all", "all", "all", "all", "all", 
    "all", "all", "all", "all", "all", "all", "all", "all", "all", 
    "all", "all", "all", "all", "all", "all", "all", "all", "all", 
    "all", "all", "all", "all", "all", "all", "all", "all", "all", 
    "all", "all", "all", "all", "all"), AVP = c(66.55, 66.74, 
    63.72, 64.62, 68.37, 76.94, 70.16, 69.78, 69.74, 67.03, 55.6, 
    53.55, 55.33, 51.6, 55.12, 65.23, 71.38, 74.18, 79.55, 79.71, 
    71.19, 70.78, 65.23, 68.82, 69.07, 69.38, 60.89, 61.99, 62.78, 
    62.72, 63.11, 67.85, 72.48, 69.93, 69.65, 72.24, 70.22, 68.76, 
    66.52, 69.94, 78.63, 69.69, 68.99, 68.6, 65.64, 70.9, 74.62, 
    70.72, 64.73, 59.34, 58.91, 58.87, 60.51, 71.99, 73.82, 64.69, 
    60.73, 61.24, 63.6, 65.91, 71.56, 68.42, 68.79, 70.57, 64.23, 
    66.58, 65.07, 64.44, 67.6, 62.95, 60.1, 70.03, 70.04, 69.39, 
    69.7, 65.12, 62.45, 63.01, 61.84, 62.91, 68.51, 70.28, 69.78, 
    73.68, 73.04, 69.78, 66.18, 65.66, 62.18, 68.57, 62.72, 62.88, 
    61.49, 66.9, 61.21, 60.41, 63.39, 63.45, 66.05, 66.18, 61.14, 
    62.54, 59.03, 59.99, 57.65, 68.87, 70.55, 64.32, 66.69, 70.28, 
    61.59, 57.63, 57.6, 58.34, 62.77, 62.74, 61.86, 67.1, 70.98, 
    69.58, 67.21, 59.9, 56.34, 64.2, 62.82, 65.23, 64.74, 61.52, 
    63.05, 73.55, 74.25, 66.11, 66.79, 60.51, 61.79, 68.52, 66.79, 
    71.85, 70.26, 70.67, 64.84, 54.63, 55.92, 57.79, 66.99, 75.4, 
    68.46, 62.35, 62.02, 60.58, 62.92, 67.75, 62.74, 61, 61.09, 
    61.13), hover_text = c("OBS:2013-01-05 Value:66.55 GroupBy:all", 
    "OBS:2013-01-12 Value:66.74 GroupBy:all", "OBS:2013-01-19 Value:63.72 GroupBy:all", 
    "OBS:2013-01-26 Value:64.62 GroupBy:all", "OBS:2013-02-02 Value:68.37 GroupBy:all", 
    "OBS:2013-02-09 Value:76.94 GroupBy:all", "OBS:2013-02-16 Value:70.16 GroupBy:all", 
    "OBS:2013-02-23 Value:69.78 GroupBy:all", "OBS:2013-03-02 Value:69.74 GroupBy:all", 
    "OBS:2013-03-09 Value:67.03 GroupBy:all", "OBS:2013-03-16 Value:55.6 GroupBy:all", 
    "OBS:2013-03-23 Value:53.55 GroupBy:all", "OBS:2013-03-30 Value:55.33 GroupBy:all", 
    "OBS:2013-04-06 Value:51.6 GroupBy:all", "OBS:2013-04-13 Value:55.12 GroupBy:all", 
    "OBS:2013-04-20 Value:65.23 GroupBy:all", "OBS:2013-04-27 Value:71.38 GroupBy:all", 
    "OBS:2013-05-04 Value:74.18 GroupBy:all", "OBS:2013-05-11 Value:79.55 GroupBy:all", 
    "OBS:2013-05-18 Value:79.71 GroupBy:all", "OBS:2013-05-25 Value:71.19 GroupBy:all", 
    "OBS:2013-06-01 Value:70.78 GroupBy:all", "OBS:2013-06-08 Value:65.23 GroupBy:all", 
    "OBS:2013-06-15 Value:68.82 GroupBy:all", "OBS:2013-06-22 Value:69.07 GroupBy:all", 
    "OBS:2013-06-29 Value:69.38 GroupBy:all", "OBS:2013-07-06 Value:60.89 GroupBy:all", 
    "OBS:2013-07-13 Value:61.99 GroupBy:all", "OBS:2013-07-20 Value:62.78 GroupBy:all", 
    "OBS:2013-07-27 Value:62.72 GroupBy:all", "OBS:2013-08-03 Value:63.11 GroupBy:all", 
    "OBS:2013-08-10 Value:67.85 GroupBy:all", "OBS:2013-08-17 Value:72.48 GroupBy:all", 
    "OBS:2013-08-24 Value:69.93 GroupBy:all", "OBS:2013-08-31 Value:69.65 GroupBy:all", 
    "OBS:2013-09-07 Value:72.24 GroupBy:all", "OBS:2013-09-14 Value:70.22 GroupBy:all", 
    "OBS:2013-09-21 Value:68.76 GroupBy:all", "OBS:2013-09-28 Value:66.52 GroupBy:all", 
    "OBS:2013-10-05 Value:69.94 GroupBy:all", "OBS:2013-10-12 Value:78.63 GroupBy:all", 
    "OBS:2013-10-19 Value:69.69 GroupBy:all", "OBS:2013-10-26 Value:68.99 GroupBy:all", 
    "OBS:2013-11-02 Value:68.6 GroupBy:all", "OBS:2013-11-09 Value:65.64 GroupBy:all", 
    "OBS:2013-11-16 Value:70.9 GroupBy:all", "OBS:2013-11-23 Value:74.62 GroupBy:all", 
    "OBS:2013-11-30 Value:70.72 GroupBy:all", "OBS:2013-12-07 Value:64.73 GroupBy:all", 
    "OBS:2013-12-14 Value:59.34 GroupBy:all", "OBS:2013-12-21 Value:58.91 GroupBy:all", 
    "OBS:2013-12-28 Value:58.87 GroupBy:all", "OBS:2014-01-04 Value:60.51 GroupBy:all", 
    "OBS:2014-01-11 Value:71.99 GroupBy:all", "OBS:2014-01-18 Value:73.82 GroupBy:all", 
    "OBS:2014-01-25 Value:64.69 GroupBy:all", "OBS:2014-02-01 Value:60.73 GroupBy:all", 
    "OBS:2014-02-08 Value:61.24 GroupBy:all", "OBS:2014-02-15 Value:63.6 GroupBy:all", 
    "OBS:2014-02-22 Value:65.91 GroupBy:all", "OBS:2014-03-01 Value:71.56 GroupBy:all", 
    "OBS:2014-03-08 Value:68.42 GroupBy:all", "OBS:2014-03-15 Value:68.79 GroupBy:all", 
    "OBS:2014-03-22 Value:70.57 GroupBy:all", "OBS:2014-03-29 Value:64.23 GroupBy:all", 
    "OBS:2014-04-05 Value:66.58 GroupBy:all", "OBS:2014-04-12 Value:65.07 GroupBy:all", 
    "OBS:2014-04-19 Value:64.44 GroupBy:all", "OBS:2014-04-26 Value:67.6 GroupBy:all", 
    "OBS:2014-05-03 Value:62.95 GroupBy:all", "OBS:2014-05-10 Value:60.1 GroupBy:all", 
    "OBS:2014-05-17 Value:70.03 GroupBy:all", "OBS:2014-05-24 Value:70.04 GroupBy:all", 
    "OBS:2014-05-31 Value:69.39 GroupBy:all", "OBS:2014-06-07 Value:69.7 GroupBy:all", 
    "OBS:2014-06-14 Value:65.12 GroupBy:all", "OBS:2014-06-21 Value:62.45 GroupBy:all", 
    "OBS:2014-06-28 Value:63.01 GroupBy:all", "OBS:2014-07-05 Value:61.84 GroupBy:all", 
    "OBS:2014-07-12 Value:62.91 GroupBy:all", "OBS:2014-07-19 Value:68.51 GroupBy:all", 
    "OBS:2014-07-26 Value:70.28 GroupBy:all", "OBS:2014-08-02 Value:69.78 GroupBy:all", 
    "OBS:2014-08-09 Value:73.68 GroupBy:all", "OBS:2014-08-16 Value:73.04 GroupBy:all", 
    "OBS:2014-08-23 Value:69.78 GroupBy:all", "OBS:2014-08-30 Value:66.18 GroupBy:all", 
    "OBS:2014-09-06 Value:65.66 GroupBy:all", "OBS:2014-09-13 Value:62.18 GroupBy:all", 
    "OBS:2014-09-20 Value:68.57 GroupBy:all", "OBS:2014-09-27 Value:62.72 GroupBy:all", 
    "OBS:2014-10-04 Value:62.88 GroupBy:all", "OBS:2014-10-11 Value:61.49 GroupBy:all", 
    "OBS:2014-10-18 Value:66.9 GroupBy:all", "OBS:2014-10-25 Value:61.21 GroupBy:all", 
    "OBS:2014-11-01 Value:60.41 GroupBy:all", "OBS:2014-11-08 Value:63.39 GroupBy:all", 
    "OBS:2014-11-15 Value:63.45 GroupBy:all", "OBS:2014-11-22 Value:66.05 GroupBy:all", 
    "OBS:2014-11-29 Value:66.18 GroupBy:all", "OBS:2014-12-06 Value:61.14 GroupBy:all", 
    "OBS:2014-12-13 Value:62.54 GroupBy:all", "OBS:2014-12-20 Value:59.03 GroupBy:all", 
    "OBS:2014-12-27 Value:59.99 GroupBy:all", "OBS:2015-01-03 Value:57.65 GroupBy:all", 
    "OBS:2015-01-10 Value:68.87 GroupBy:all", "OBS:2015-01-17 Value:70.55 GroupBy:all", 
    "OBS:2015-01-24 Value:64.32 GroupBy:all", "OBS:2015-01-31 Value:66.69 GroupBy:all", 
    "OBS:2015-02-07 Value:70.28 GroupBy:all", "OBS:2015-02-14 Value:61.59 GroupBy:all", 
    "OBS:2015-02-21 Value:57.63 GroupBy:all", "OBS:2015-02-28 Value:57.6 GroupBy:all", 
    "OBS:2015-03-07 Value:58.34 GroupBy:all", "OBS:2015-03-14 Value:62.77 GroupBy:all", 
    "OBS:2015-03-21 Value:62.74 GroupBy:all", "OBS:2015-03-28 Value:61.86 GroupBy:all", 
    "OBS:2015-04-04 Value:67.1 GroupBy:all", "OBS:2015-04-11 Value:70.98 GroupBy:all", 
    "OBS:2015-04-18 Value:69.58 GroupBy:all", "OBS:2015-04-25 Value:67.21 GroupBy:all", 
    "OBS:2015-05-02 Value:59.9 GroupBy:all", "OBS:2015-05-09 Value:56.34 GroupBy:all", 
    "OBS:2015-05-16 Value:64.2 GroupBy:all", "OBS:2015-05-23 Value:62.82 GroupBy:all", 
    "OBS:2015-05-30 Value:65.23 GroupBy:all", "OBS:2015-06-06 Value:64.74 GroupBy:all", 
    "OBS:2015-06-13 Value:61.52 GroupBy:all", "OBS:2015-06-20 Value:63.05 GroupBy:all", 
    "OBS:2015-06-27 Value:73.55 GroupBy:all", "OBS:2015-07-04 Value:74.25 GroupBy:all", 
    "OBS:2015-07-11 Value:66.11 GroupBy:all", "OBS:2015-07-18 Value:66.79 GroupBy:all", 
    "OBS:2015-07-25 Value:60.51 GroupBy:all", "OBS:2015-08-01 Value:61.79 GroupBy:all", 
    "OBS:2015-08-08 Value:68.52 GroupBy:all", "OBS:2015-08-15 Value:66.79 GroupBy:all", 
    "OBS:2015-08-22 Value:71.85 GroupBy:all", "OBS:2015-08-29 Value:70.26 GroupBy:all", 
    "OBS:2015-09-05 Value:70.67 GroupBy:all", "OBS:2015-09-12 Value:64.84 GroupBy:all", 
    "OBS:2015-09-19 Value:54.63 GroupBy:all", "OBS:2015-09-26 Value:55.92 GroupBy:all", 
    "OBS:2015-10-03 Value:57.79 GroupBy:all", "OBS:2015-10-10 Value:66.99 GroupBy:all", 
    "OBS:2015-10-17 Value:75.4 GroupBy:all", "OBS:2015-10-24 Value:68.46 GroupBy:all", 
    "OBS:2015-10-31 Value:62.35 GroupBy:all", "OBS:2015-11-07 Value:62.02 GroupBy:all", 
    "OBS:2015-11-14 Value:60.58 GroupBy:all", "OBS:2015-11-21 Value:62.92 GroupBy:all", 
    "OBS:2015-11-28 Value:67.75 GroupBy:all", "OBS:2015-12-05 Value:62.74 GroupBy:all", 
    "OBS:2015-12-12 Value:61 GroupBy:all", "OBS:2015-12-19 Value:61.09 GroupBy:all", 
    "OBS:2015-12-26 Value:61.13 GroupBy:all")), row.names = c(NA, 
-156L), class = c("tbl_df", "tbl", "data.frame"))

推荐答案

第一个问题是,通过添加text个AES,您更改了分组,即使用group = GroupBy修复显式映射或设置group个AES.第二个问题是由于ggplot2中的更改,可以通过设置stat="identity"进行修复(请参见R geom_area tooltip always displays the same value).

area_gg <- area_gg +
  geom_area(aes(fill = GroupBy, group = GroupBy),
    alpha = alpha,
    stat = "identity"
  )

enter image description here

R相关问答推荐

在特定列上滞后n行,同时扩展框架的长度

R等效于LABpascal(n,1)不同的列符号

在某些栏和某些条件下,替换dfs列表中的NA

如何在一次运行中使用count进行多列计数

为什么当用osmdata映射R时会得到相邻状态?

如果某些列全部为NA,则更改列

将项粘贴到向量中,并将它们分组为x的倍数,用空格分隔

减go R中列表的所有唯一元素对

使用ggplot2中的sec_axis()调整次轴

是否可以将线性模型的p值添加到tbl_summary中

如何在使用因子时获得Sankey图的Scale_Fill_Viridis的全范围

在ggploy中创建GeV分布时出错

通过R:文件名未正确写入[已解决]将.nc文件转换和导出为.tif文件

如何将宽格式的患者信息数据高效地转换为患者计数的时间序列?

如何将EC50值绘制在R中的剂量-react 曲线上?

具有自定义仓位限制和计数的GGPLATE直方图

在shiny 表格中输入的文本在第一次后未更新

按两个条件自动过滤数据

随机生成样本,同时在R内的随机样本中至少包含一次所有值

如何将两个用不同的运算符替换*的矩阵相乘