GitHubを利用したRのヒストグラムの公開

Shinyで作成したコンテンツをGitHubを利用して公開しました。

I.Shiny公開の方法

Shinyのコンテンツの公開には、一般に二つの方法があります。

1つ目は、shinyapp.ioを利用する方法です。5件は無料で公開できますが、それ以上は有料になります。

2つ目はここで説明するGitHubを利用した公開です。これは無料ですが、受け取る側のコンピュータにRがインストールされている必要があります。

II.GitHubによる公開

1.RのパッケージShinyをインストールして、インターアクティブなコンテンツを作成します。

2.GitHub(プログラムやデータを共有、管理するサービス)に ui.Rとserver.Rの2つのプログラムをアップします。

3.下の1行を配付します。

runGitHub( “Tabsets201609”, “hirogami”)

4.受け取る側ののコンピュータのRで、下の2行を実行します。現在公開している試験の学年別ヒストグラムと基本統計量が示されます。

library(shiny)

runGitHub( “Tabsets201609”, “hirogami”)

注意:コピーして利用する場合、Windowsの場合は、 “”が全角になるので、半角に直してください。

参考:上記のプログラム

ui.R

library(shiny)

# Define UI for random distribution application
shinyUI(pageWithSidebar(

# Application title
headerPanel(“試験結果 for practice”),

# Sidebar with controls to select the random distribution type
# and number of observations to generate. Note the use of the br()
# element to introduce extra vertical spacing
sidebarPanel(
radioButtons(“dist”, “year:”,
list(“Year1” = “year1”,
“Year2” = “year2”,
“Year3” = “year3”,
“YearAll” = “yearall”))
),

# Show a tabset that includes a plot, summary, and table view
# of the generated distribution
mainPanel(
tabsetPanel(
tabPanel(“Plot”, plotOutput(“plot”)),
tabPanel(“Summary”, verbatimTextOutput(“summary”))
)
)
))

server.R

library(shiny)
library(dplyr)
library(magrittr)
data0 <- read.csv(“https://raw.githubusercontent.com/hirogami/Tabsets201609/master/data0″)

# Define server logic for random distribution application
shinyServer(function(input, output) {

# Reactive expression to generate the requested distribution. This is
# called whenever the inputs change. The renderers defined
# below then all use the value computed from this expression
data <- reactive({
dist <- switch(input$dist,
year1 = filter(data0,year==1),
year2 = filter(data0,year==2),
year3 = filter(data0,year==3),
yearall = data0,
year1)

dist[,”marks”]

})

# Generate a plot of the data. Also uses the inputs to build the
# plot label. Note that the dependencies on both the inputs and
# the ‘data’ reactive expression are both tracked, and all expressions
# are called in the sequence implied by the dependency graph
output$plot <- renderPlot({
dist <- input$dist
hist(data(),
main=paste(dist))
})

# Generate a summary of the data and add the number of stutents
output$summary <- renderPrint({
summary.n <- summary(data())
summary.n[“n”] <- NROW(data())
summary.n
})
})

以上

 


柴田 啓文

紹介 柴田 啓文

経済学部教員です。このサイトの管理者の一人です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です