Rで株式の相関を計算するためのコードを作成しました。これがコードです。
library(quantmod)
tickers<-c('AAPL','GOOG','MSFT')
stockData=new.env()
getSymbols(tickers,src = "yahoo", env=stockData,from =as.Date("2016-01-01"))
library(PerformanceAnalytics)
x <- list()
Data=data.frame()
clo=data.frame()
for (i in 1:length(tickers)) {
x[[i]] <- get(tickers[i], pos=stockData) # get data from stockData environment
clo<-cbind(clo,Cl(x[[i]]))
Data=cbind(Data,diff(log(Cl(x[[i]]))))
}
chart.Correlation(Data)
Cl(Data)
tail(clo)
しかし、これを光沢のあるアプリに変換するのに苦労しています
これまでのところ、光沢のあるアプリで行っています。shinysky
複数の株式を選択するためにライブラリを選択しました
ui.R
#ui.R
library(shinysky)
shinyUI(fluidPage(
titlePanel("test"),
sidebarLayout(
sidebarPanel(
helpText("text"),
select2Input("txt","stock",choices=c("AAPL","GOOG","MSFT"),selected=c("")),
actionButton("go","submit")
),
mainPanel(
tabsetPanel(type="tab",tabPanel("Plot",plotOutput("plot")),tabPanel("summary",tableOutput("table")),tabPanel("close",tableOutput("table1")))
)
)
))
サーバー.R
# server.R
library(quantmod)
library(PerformanceAnalytics)
shinyServer(function(input, output) {
stockData <- new.env()
dataInput <- reactive({
if(input$go==0){return()} #confirming button click
else if(input$go==1){
validate(
need(input$txt != "", label = "stock")
)
getSymbols(input$txt, src = "yahoo", env=stockData,from =as.Date(input$dates) )
}
})
output$plot=plot chart.correlation
output$table=table of Close values of stocks etc Cl(Data)
output$table1=output of last close
}
)
上記の光沢のあるコードは、さらに先に進む方法がわからず、論理エラーがあるため、不完全です。
1)if(input$go==0){return()}
ボタンのクリックを検証するために使用しましたが、一度しか機能しません
2)このコードをshinyapps.ioにデプロイしている間、library(PerformanceAnalytics)
干渉してデプロイを許可しません
これらの問題を解決するにはどうすればよいですか?