Как передать значение NULL в качестве значения переменной в RSHINY?
В phyloseq есть сюжет, который называется plot_net.
Самый основной код заговора plot_net выглядит так:
data(enterotype)
#Eliminate samples with no entereotype denomination
enterotype = subset_samples(enterotype, !is.na(Enterotype))
plot_net(enterotype, maxdist = 0.1, point_label = NULL)
Я пытаюсь создать приложение RShiny, которое позволяет пользователю изменять эту графику.
point_label имеет несколько различных опций (например, «SecTech», «SampleID», NULL).
У меня уже есть все другие значения для этой метки, я просто не уверен, как добавить NULL.
Вот что я сделал:
Возможно, это не запустится, поскольку оно отсутствует в блестящем приложении, но я включил его в качестве примера для иллюстрации проблемы.
library(shiny)
library(phyloseq)
# Data: This data contains info about nodes and edges on Phyloseq data.
data(enterotype)
#Eliminate samples with no entereotype denomination. Make it a lesson to
always catalogue data correctly from the start.
enterotype = subset_samples(enterotype, !is.na(Enterotype))
# a is the collection of variable names for point_label
a <- sample_variables(enterotype)
theme_set(theme_bw())
# Define UI for application that draws a network plot
shinyUI(fluidPage(
# Application title
titlePanel("Network Plots"),
sidebarLayout(
sidebarPanel(
selectInput("labelBy",
"Select the point label category",
***choices = c(a, "NA" = NULL),***
selected = "NA")
),
# Show a plot of the generated distribution
mainPanel(
plotOutput("netPlot")#,
#plotOutput("networkPlot")
)
)
))
shinyServer(function(input, output) {
output$netPlot <- renderPlot({
plot_net(enterotype, maxdist = .1, point_label = input$labelBy)
})
})
shinyApp(ui = ui, server = server)
Эта строка - мой вопрос:
choices = c (a, "NA" = NULL)
Как мне добавить NULL в мой список вариантов? Независимо от того, как я это пробовал, NULL всегда принималось за нулевое значение и не показывалось как опция.
Если я напишу NULL как «NULL», функция phyloseq plot_net не примет его.
Это значение принимает только значение point_label = NULL без значения.
Я думаю, что возможно создать цикл if ... else, где, если пользователь нажимает NULL на checkboxInput, тогда график будет генерироваться второй строкой кода, указывающей, что значение в point_label равно NULL, но это может быть действительно громоздким, если есть несколько переменных с возможным значением NULL.
Возможно, есть какой-то очевидный трюк, например, размещение $ или% перед значением NULL, но я не смог его найти. Если бы кто-то мог помочь, это было бы здорово!