несколько целей в блестящей - PullRequest
1 голос
/ 27 марта 2020

Здравствуйте, я новичок в блеске. Я работаю над базовым c приложением, которое принимает доходность портфеля различных акций и дает ли PCA доходность этого портфеля, приложение должно показать таблицу различных основных компонентов и распечатать сводку основных компонентов, но это s показывает только таблицу, а не сводку основных компонентов. вот мой код


library(shiny)
server = function(input, output, session) {
  output$print<-renderTable({
    ticker<-c(input$STOCK1, input$STOCK2, input$STOCK3, input$STOCK4)
    portfolioPrice <- NULL
    for(ticker in ticker) {
      portfolioPrice <- cbind(portfolioPrice,
                              getSymbols.yahoo(ticker,  periodicity = 'daily', auto.assign=FALSE)[,6])
    }
    poty=na.omit(ROC(portfolioPrice))
    op=prcomp(poty, scale. = T)
    dadsa=op$rotation
    axz=as.table(dadsa)

    return(axz)
  })

  output$out<-renderPrint({
    ticker<-c(input$STOCK1, input$STOCK2, input$STOCK3, input$STOCK4)
    portfolioPrice <- NULL
    for(ticker in ticker) {
      portfolioPrice <- cbind(portfolioPrice,
                              getSymbols.yahoo(ticker,  periodicity = 'daily', auto.assign=FALSE)[,6])
    }
    poty=na.omit(ROC(portfolioPrice))
    op=prcomp(poty, scale. = T)


    waps=summary(op)
    return(waps)
  })







} # the server

ui = basicPage(
  textInput("STOCK1", "STOCK 1","AAL"),
  textInput("STOCK2","STOCK 2","NULL" ),
  textInput("STOCK3", "STOCK 3" ,"NULL" ),
  textInput("STOCK4","STOCK4"),
  tableOutput("print")
  textOutput("out")
) # the user interface

shinyApp(ui = ui, server = server) # perform app launch


вот изображение приложения в том виде, в каком оно есть, как вы можете видеть, оно берет запасы и показывает таблицу основных компонентов enter image description here

но приложение не печатает сводку основных компонентов, которая должна выглядеть следующим образом

enter image description here

пожалуйста, помогите, я буду невероятно благодарен и я уверен, что это поможет другим кодировщикам, пытающимся научиться блестящему

1 Ответ

1 голос
/ 27 марта 2020

Используйте verbatimTextOutput вместо textoutput:

library(shiny)
library(quantmod)
server = function(input, output, session) {
  output$print<-renderTable({
    ticker<-c(input$STOCK1, input$STOCK2, input$STOCK3, input$STOCK4)
    portfolioPrice <- NULL
    for(ticker in ticker) {
      portfolioPrice <- cbind(portfolioPrice,
                              getSymbols.yahoo(ticker,  periodicity = 'daily', auto.assign=FALSE)[,6])
    }
    poty=na.omit(ROC(portfolioPrice))
    op=prcomp(poty, scale. = T)
    dadsa=op$rotation
    axz=as.table(dadsa)

    return(axz)
  })

  output$out<-renderPrint({}
    ticker<-c(input$STOCK1, input$STOCK2, input$STOCK3, input$STOCK4)
    portfolioPrice <- NULL
    for(ticker in ticker) {
      portfolioPrice <- cbind(portfolioPrice,
                              getSymbols.yahoo(ticker,  periodicity = 'daily', auto.assign=FALSE)[,6])
    }
    poty=na.omit(ROC(portfolioPrice))
    op=prcomp(poty, scale. = T)
    waps=summary(op)
    return(waps)
  })
} # the server

ui = basicPage(
  textInput("STOCK1", "STOCK 1","AAL"),
  textInput("STOCK2","STOCK 2","NULL" ),
  textInput("STOCK3", "STOCK 3" ,"NULL" ),
  textInput("STOCK4","STOCK4"),
  tableOutput("print"),
  verbatimTextOutput ("out")  #Use `verbatimTextOutput` instead of `textoutput`
) # the user interface

shinyApp(ui = ui, server = server) 
...