小编mb1*_*127的帖子

rhandsontable,将文本换行在列的单元格中(和自动行高)

数据...

DF <- data.frame(a = c("hi", rep(NA, 4)),
                 b = letters[1:5],
                 c = LETTERS[1:5],
                 stringsAsFactors = FALSE)
Run Code Online (Sandbox Code Playgroud)

当我修复列宽和行高时,如何强制文本在单元格内换行(对于所有列或列的子集?)

rhandsontable(DF, stretchH = "all", height = 300 ) %>%
  hot_cols(colWidths = c(100, 50, 50),
           manualColumnMove = FALSE,
           manualColumnResize = TRUE
           ##, wordWrap = "yes please"
           ) %>%
  hot_rows(rowHeights = 75 ) %>%
  hot_context_menu(allowRowEdit = TRUE, allowColEdit = FALSE)
Run Code Online (Sandbox Code Playgroud)

更好的是,我可以将 rowHeight 保留为“自动”/默认值,并让它根据文本换行的需要进行扩展吗?

rhandsontable(DF, stretchH = "all", height = 300 ) %>%
  hot_cols(colWidths = c(100, 50, 50),
           manualColumnMove = FALSE,
           manualColumnResize = TRUE
           ##, …
Run Code Online (Sandbox Code Playgroud)

r shiny rhandsontable

5
推荐指数
1
解决办法
1985
查看次数

R Shiny:req() *多个对象/值中的至少一个

抱歉,如果这很简单,但我无法找到答案。我是使用 validate/req 的新手。在我闪亮的应用程序中,我目前有:

myfx <- reactive({
    req(c(input$value, data1(), data2()) )
    ...
})
Run Code Online (Sandbox Code Playgroud)

这确保在执行之前所有值都是真实的。但我想要的是需要输入和至少一个数据值。我怎样才能让这样的事情发挥作用?

myfx <- reactive({
        req(c(input$value, any_of(data1(), data2())) )
        ...
    })
Run Code Online (Sandbox Code Playgroud)

validation r shiny

5
推荐指数
1
解决办法
1937
查看次数

将列名称的向量传递给mutate中的paste()(dplyr)

我正在尝试编写一个函数,它将来自用户的列名称向量作为其参数之一.列名将用于指定将数据帧的哪些列粘贴在一起以在dplyr :: mutate中形成新列.我试图首先折叠参数向量的元素,然后在mutate中使用折叠的字符串 - 这是错误的.请参阅下面的最新尝试.我做了其他尝试,但我不理解dplyr中的新quo,enquo,UQ,!!!,!!等等.有人可以展示我需要做什么吗?

df <- data.frame(.yr = c("2000", "2001", "2002"), .mo = c("12", "01", "02"), .other = rnorm(3))
cols <- colnames(df)[1:2]

do_want <- df %>%
  mutate(new = paste(.yr, .mo, sep = "-"))

my_func <- function(dat, vars){
  .vars <- paste(vars, collapse = ",")

  result <- dat %>%
    mutate(new = paste(.vars, sep = "-" ))
  return(result)
}

my_func(dat = df, vars = cols)
Run Code Online (Sandbox Code Playgroud)

编辑:这是我尝试使用quo和!! 在函数定义中.结果是一列重复的字符串".yr,.mo"

my_func <- function(dat, vars){
  .vars <- quo(paste(vars, collapse = ","))

  result <- dat %>%
    mutate(new …
Run Code Online (Sandbox Code Playgroud)

r dplyr rlang

4
推荐指数
1
解决办法
3522
查看次数

通过导航到 navbarPage 中的特定 tabPanel 触发的 R Shiny 反应式

写一个闪亮的问题。我有一个 navbarPage,id = "navbar",并且在 navbarMenu 中用户可以从几个 tabPanels 中选择一个。每个 tabPanel 都分配了一个值(值 = 1、值 = 2 等)。因此 input$navbar 是与所选 tabPanel 值的反应值。

我定义了一个响应式表达式,它对 tabPanel 的变化做出反应(基于 input$navbar 做出反应)。我真正想要的是让它对导航到特定的 tabPanel 做出反应,而不是导航离开那个 tabPanel。所以,当 input$navbar 从 1 变为 2 时,我想要一个反应,但是当从 2 变为 1 时没有反应。我怎样才能做到这一点?

这是我的代码的相关片段,我认为我不需要为此提供完整的可重现示例,但如果我错了,请告诉我。

#ui snippet
navbarPage(id = "navbar",
        navbarMenu(title = "Title",
                    tabPanel(title = "tp1", value = 1),
                    tabPanel(title = "tp2", value = 2),
                    #more tabPanels and ui stuff...

#server snippet
rctvfx <- reactive({
              #want this to react only when input$navbar changes from ==1 …
Run Code Online (Sandbox Code Playgroud)

r shiny reactive

3
推荐指数
1
解决办法
2354
查看次数

标签 统计

r ×4

shiny ×3

dplyr ×1

reactive ×1

rhandsontable ×1

rlang ×1

validation ×1