[英]r shiny server create vector from inputs to use for subsetting dataframe
server <- (function(input, output, session){
s1m <- reactive({c(input$s1m1,input$s1m2,input$s1m3)})
library(stringdist)
result <- responses[which.max(apply(responses,1,function(vec,dat){sum(vec==dat)},s1m)),]
output$result <- renderUI(result)
})
我需要使用3個不同的用戶輸入s1m1,s1m2,s1m3專門創建一個字符向量“ s1m”,以便可以將其用於子集我的數據幀“響應”。
我得到的錯誤是vec == dat中的錯誤:比較(1)僅適用於原子類型和列表類型
我認為這是因為s1m被react()包裝,並且不被視為向量。 所以我的問題是如何將其強制為向量,或者是否有其他方法可以通過用戶輸入創建向量?
非常感謝大家!
我認為您應該創建如下的reactValues。 我沒有對此進行測試,但是您也可以將它們包裝到數據框或列表中。
server <- (function(input, output, session) {
s1m <- reactiveValues({
c(input$s1m1, input$s1m2,input$s1m3)
})
library(stringdist)
result <-
responses[which.max(apply(responses, 1, function(vec, dat) {
sum(vec == dat)
}, s1m())), ]
output$result <- renderUI(result)
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.