我正在创建启动闪亮应用的功能。
这将允许用户进行多项选择。
根据我的理解,闪亮不会将数据返回给调用程序(请澄清一下)
因此,我保存到一个文本文件,最终将由程序读取,然后删除文本文件。
当我在闪亮的
中添加file.append(colorfile,output$col)
时问题就开始了
当我启动闪亮的应用时,我收到错误,(问题的结尾是代码,这里是entire R script)
> CherryPickPalette("BiryaniRice","Kulfi","Haveli2")
Listening on http://127.0.0.1:7208
Warning: Error in $.shinyoutput: Reading objects from shinyoutput object not allowed.
54: stop
53: $.shinyoutput
50: server [c:\RanglaPunjab/R/RanglaPunjab.R#230]
Error in `$.shinyoutput`(output, col) :
Reading objects from shinyoutput object not allowed.
功能CherryPicker调色板
CherryPickPalette <- function (name, name2=NULL, name3=NULL){
if ((nargs() < 2) || (nargs() > 3)){
stop("Enter 2 or 3 valid palettes. Run ListPalette() for list of palettes.")
}
if (nargs() == 2){
new_pal <- MergePalette(name,name2)
}
else if (nargs() == 3){
new_pal <- MergePalette(name,name2,name3)
}
if (interactive()){
colorfile <- paste(getwd(),"colorfile.txt",sep="/")
if (!file.exists(colorfile)){
file.create(colorfile)
}
shinyApp(
ui = fluidPage(
titlePanel("Cherry Pick Your Own Palette!"),
sidebarPanel (hr(),
selectInput('col', 'Options', new_pal, multiple=TRUE, selectize=FALSE, size = 15)
),
mainPanel(
h5('Your custom colors',style = "font-weight: bold;"),
fluidRow(column(12,verbatimTextOutput("col"))))
),
server = function(input,output,session){
output$col <- renderPrint(input$col)
file.append(colorfile,output$col)
}
)
}
}
答案 0 :(得分:1)
file.append函数会将一个文件附加到另一个文件。 (不要将文本添加到文件中),看看cat或sink函数
以下似乎对我有用
server = function(input,output,session){
outuputdata<- reactive({
input$col
})
output$col <- {
renderPrint(outuputdata())
}
observe({
message <- paste(outuputdata(),"\n")
cat(message,file=colorfile, append=TRUE)
})
}