小编Ore*_*lis的帖子

通过为缺少的条目添加特殊值来对齐两个列表

我有两个相同可排序类型的值列表,它们按升序排序,但(i)它们的长度不同,(ii)一个列表中的条目可能会从另一个列表中丢失,反之亦然.但是我知道一个列表中的大多数值都存在于另一个列表中,并且任何列表中都没有重复项.

所以我们可能有这种情况:

list1 = [value1-0, value1-1, value1-2, value1-3]
list2 = [value2-0, value2-1, value2-2]
Run Code Online (Sandbox Code Playgroud)

如果发生这两个列表中的值的顺序是:

value1-0 < (value1-1 = value2-0) < value2-1 < value1-2 < value1-3 < value2-2
Run Code Online (Sandbox Code Playgroud)

我们可以将组合的排序值名称提供给两个列表中的值,例如:

valueA < valueB < valueC < valueD < valueE < valueF
Run Code Online (Sandbox Code Playgroud)

这样两个列表可以写成:

list1 = [valueA, valueB, valueD, valueE]
list2 = [valueB, valueC, valueF]
Run Code Online (Sandbox Code Playgroud)

鉴于此,我希望列表成为:

new_list1 = [valueA,    valueB, "MISSING", valueD,    valueE,    "MISSING"]
new_list2 = ["MISSING", valueB, valueC,    "MISSING", "MISSING", valueF   ]
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

编辑:原始问题datetime特别涉及对象(因此特定于datetimes 的注释),但已被推广到任何可排序类型.

python

6
推荐指数
2
解决办法
2698
查看次数

使用actionButtons基于索引动态添加和删除uiOutput元素

我正在尝试uiOutput使用索引来添加和删除元素,以跟踪每个单独的元素。列表中有一个actionButton用于添加和的元素,每个元素都有一个x按钮,用于删除所选项目,如下图所示:

闪亮的动态元素示例

我正在使用同时包含uiserver代码的单个.Rmd文件。我当前的解决方案(无法实现上面显示的所需功能-它基本上什么都不做)如下:

actionButton("addFilter", "Add filter", icon=icon("plus", class=NULL, lib="font-awesome"))

i <- 0

observeEvent(input$addFilter, {
  i <<- i + 1
  uiOutput(paste("filterPage",i,sep=""))

  output[[paste("filterPage",i,sep="")]] = renderUI({
    fluidPage(
      fluidRow(
        column(6, selectInput(paste("filteringFactor",i,sep=""), "Choose factor to filter by:",
                              choices=c("factor A", "factor B", "factor C"), selected="factor B",
                              width="100%")),
        column(6, actionButton(paste("removeFactor",i,sep=""), "",
                               icon=icon("times", class = NULL, lib = "font-awesome")))
      )
    )
  })

  observeEvent(input[[paste("removeFactor",i,sep="")]], {
    output[[paste("filterPage",i,sep="")]] = renderUI({})
  })

})
Run Code Online (Sandbox Code Playgroud)

当我将uiOutput删除按钮observeEvent放在添加按钮之外时,observeEvent代码可以工作,但是我需要为每个索引使用单独的语句,如下所示:

uiOutput(paste("filterPage",1,sep=""))
uiOutput(paste("filterPage",2,sep=""))
uiOutput(paste("filterPage",3,sep="")) …
Run Code Online (Sandbox Code Playgroud)

r shiny

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

标签 统计

python ×1

r ×1

shiny ×1