数据...
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) 抱歉,如果这很简单,但我无法找到答案。我是使用 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) 我正在尝试编写一个函数,它将来自用户的列名称向量作为其参数之一.列名将用于指定将数据帧的哪些列粘贴在一起以在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) 写一个闪亮的问题。我有一个 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)