ด้วยวิวัฒนาการของเทคโนโลยีเครื่องมือและเฟรมเวิร์กใหม่ ๆ ได้เกิดขึ้นสำหรับการสร้างเว็บแอปพลิเคชันที่แสดงสถิติแบบเรียลไทม์แผนที่และกราฟ เนื่องจากฟังก์ชันเหล่านี้ต้องการการประมวลผลและการซิงโครไนซ์สูงจึงใช้ภาษาโปรแกรมเพื่อลดเวลาในการโหลดเซิร์ฟเวอร์ ในบทแนะนำ R Shiny นี้ฉันจะอธิบายวิธีใช้ R บนเว็บแอปพลิเคชันแบบไดนามิกให้เกิดประโยชน์สูงสุด
เราจะครอบคลุมและทำความเข้าใจกับหัวข้อต่อไปนี้:
R Shiny คืออะไร?
Shiny เป็นแพ็คเกจ R ที่ช่วยให้ผู้ใช้สร้างเว็บแอปแบบโต้ตอบได้ เครื่องมือนี้สร้างเว็บแอปที่เทียบเท่า HTML จากโค้ด Shiny เรารวมโค้ด HTML และ CSS ดั้งเดิมเข้ากับฟังก์ชัน R Shiny เพื่อให้แอปพลิเคชันแสดงได้ Shiny ผสานพลังการคำนวณของ R เข้ากับการโต้ตอบของเว็บสมัยใหม่Shiny สร้างเว็บแอปที่ปรับใช้บนเว็บโดยใช้เซิร์ฟเวอร์ของคุณหรือบริการโฮสติ้งของ R Shiny
คุณสมบัติของ R Shiny:
- สร้างแอปพลิเคชันที่ง่ายด้วยความรู้พื้นฐานหรือไม่มีเลยเกี่ยวกับเครื่องมือเว็บ
- ผสานรวม Shiny เข้ากับเครื่องมือเว็บแบบเนทีฟเพื่อปรับปรุงความยืดหยุ่นและประสิทธิผล
- ฟังก์ชัน I / O ที่สร้างไว้ล่วงหน้าและการแสดงผล
- การเรนเดอร์เนื้อหาแอปพลิเคชันอย่างง่ายดายโดยไม่ต้องโหลดซ้ำหลายครั้ง
- คุณลักษณะในการเพิ่มเอาต์พุตที่คำนวณ (หรือประมวลผลแล้ว) จากสคริปต์ R
- เพิ่มรายงานสดและการแสดงภาพ
นั่นทำให้เราเกิดคำถามว่า
Shiny แตกต่างจากแอพพลิเคชั่นทั่วไปอย่างไร?
ให้เรายกตัวอย่างแอปพลิเคชันสภาพอากาศเมื่อใดก็ตามที่ผู้ใช้รีเฟรช / โหลดหน้าหรือเปลี่ยนแปลงข้อมูลใด ๆ ควรอัปเดตทั้งหน้าหรือบางส่วนของหน้าโดยใช้ JS สิ่งนี้จะเพิ่มภาระให้กับฝั่งเซิร์ฟเวอร์สำหรับการประมวลผล Shiny ช่วยให้ผู้ใช้แยกหรือแสดงผล (หรือโหลดซ้ำ) องค์ประกอบในแอปซึ่งช่วยลดภาระของเซิร์ฟเวอร์ การเลื่อนดูหน้าต่างๆทำได้ง่ายในเว็บแอปพลิเคชันแบบเดิม แต่ก็ทำได้ยากสำหรับแอป Shiny โครงสร้างของโค้ดมีบทบาทหลักในการทำความเข้าใจและแก้ไขจุดบกพร่องของโค้ด คุณลักษณะนี้มีความสำคัญอย่างยิ่งสำหรับแอปที่เป็นมันวาวเมื่อเทียบกับแอปพลิเคชันอื่น ๆ
ไปที่หัวข้อถัดไปในบทแนะนำ R Shiny โดยติดตั้งแพ็คเกจ R Shiny
การติดตั้ง R Shiny
การติดตั้ง Shiny ก็เหมือนกับการติดตั้งแพ็คเกจอื่น ๆ ใน R ไปที่ R คอนโซล และเรียกใช้คำสั่งด้านล่างเพื่อติดตั้งแพ็คเกจ Shiny
install.packages ('เงา')
เมื่อคุณติดตั้งแล้วให้โหลดแพ็คเกจ Shiny เพื่อสร้างแอป Shiny
ฟังก์ชันใน sql คืออะไร
ห้องสมุด (เงา)
ก่อนที่เราจะก้าวต่อไปในบทแนะนำ R เงานี้เรามาดูและทำความเข้าใจโครงสร้างของแอปพลิเคชัน Shiny
โครงสร้างของแอป Shiny
Shiny ประกอบด้วย 3 ส่วนประกอบ:
หนึ่ง.ฟังก์ชันส่วนต่อประสานผู้ใช้
หน้าจอผู้ใช้ ฟังก์ชัน (UI) กำหนดรูปแบบและลักษณะของแอป คุณสามารถเพิ่มแท็ก CSS และ HTML ภายในแอปเพื่อให้แอปแสดงได้มากขึ้น ฟังก์ชันนี้ประกอบด้วยอินพุตและเอาต์พุตทั้งหมดที่จะแสดงในแอป แต่ละองค์ประกอบ (ส่วนหรือแท็บหรือเมนู) ภายในแอปถูกกำหนดโดยใช้ฟังก์ชัน สิ่งเหล่านี้เข้าถึงได้โดยใช้รหัสเฉพาะเช่นองค์ประกอบ HTMLมาเรียนรู้เพิ่มเติมเกี่ยวกับสิ่งต่างๆฟังก์ชันที่ใช้ในแอป
ฟังก์ชั่นเค้าโครงเงา
headerPanel ()
เพิ่มหัวเรื่องให้กับแอป titlePanel () กำหนดหัวเรื่องย่อยของแอป ดูภาพด้านล่างเพื่อความเข้าใจที่ดีขึ้น headerPanel และ titlePanel .
แถบด้านข้างเลย์เอาต์ ()
กำหนดเค้าโครงที่จะถือ sidebarPanel และ mainPanel องค์ประกอบ. เค้าโครงแบ่งหน้าจอแอพออกเป็นแผงแถบด้านข้างและแผงหลัก. ตัวอย่างเช่นในภาพด้านล่างสี่เหลี่ยมผืนผ้าสีแดงคือไฟล์ mainPanel พื้นที่และพื้นที่สี่เหลี่ยมผืนผ้าสีดำในแนวตั้งคือ sidebarPanel พื้นที่.
กันแผง ()
กำหนดคอนเทนเนอร์ที่เก็บอ็อบเจ็กต์อินพุต / เอาต์พุตของแอพหลายอ็อบเจ็กต์ในกริดเดียวกันtabsetPanel ()
สร้างคอนเทนเนอร์เพื่อเก็บแท็บ tabPanel () เพิ่มแท็บเข้าไปในแอพโดยกำหนดองค์ประกอบและส่วนประกอบของแท็บ ในภาพด้านล่างสีดำสี่เหลี่ยมผืนผ้าคือ tabsetPanel วัตถุและสี่เหลี่ยมผืนผ้าสีแดงคือ tabPanel วัตถุ.navlistPanel ()
มีเมนูด้านข้างพร้อมลิงก์ไปยังแผงแท็บต่างๆที่คล้ายกับ tabsetPanel () เช่นรายการแนวตั้งทางด้านซ้ายของหน้าจอ ในภาพด้านล่างสี่เหลี่ยมผืนผ้าสีดำคือ navlistPanel วัตถุและสี่เหลี่ยมผืนผ้าสีแดงคือ tabPanel วัตถุ.
คุณยังสามารถเพิ่ม CSS แบบอินไลน์ให้กับวิดเจ็ตอินพุตแต่ละรายการในแอพได้อีกด้วยแอป Shiny รวมคุณสมบัติของเทคโนโลยีเว็บพร้อมกับคุณสมบัติและฟังก์ชั่น R ที่เป็นประกายเพื่อเพิ่มประสิทธิภาพให้กับแอป ใช้แท็ก HTML ภายในแอป Shiny โดยใช้ แท็ก $.
เค้าโครงของคุณพร้อมแล้วก็ได้เวลาเพิ่มวิดเจ็ตลงในแอป Shiny จัดเตรียมองค์ประกอบอินพุตและเอาต์พุตของผู้ใช้ที่หลากหลายสำหรับการโต้ตอบกับผู้ใช้ ให้เราพูดถึงฟังก์ชันอินพุตและเอาต์พุตบางส่วน
ฟังก์ชั่นอินพุตเงา
วิดเจ็ตอินพุตแต่ละตัวมีป้ายกำกับ Id พารามิเตอร์อื่น ๆ เช่นตัวเลือกค่าที่เลือกต่ำสุดสูงสุด ฯลฯ
เลือกอินพุต ()
- สร้างองค์ประกอบ HTML แบบเลื่อนลง
selectInput ('select', h3 ('Select box'), choice = list ('Choice 1' = 1, 'Choice 2' = 2, 'Choice 3' = 3), selected = 1)
ตัวเลขอินพุต ()
- พื้นที่ป้อนข้อมูลเพื่อพิมพ์ตัวเลขหรือข้อความ
dateInput ('num', 'Date input', value = '2014-01-01') numericInput ('num', 'Numeric input', value = 1) textInput ('num', 'Numeric input', value = ' ใส่ข้อความ ... ')
radioButtons ()
- สร้างปุ่มตัวเลือกสำหรับการป้อนข้อมูลของผู้ใช้
radioButtons ('วิทยุ', h3 ('ปุ่มตัวเลือก'), ตัวเลือก = รายการ ('ตัวเลือก 1' = 1, 'ตัวเลือก 2' = 2, 'ตัวเลือก 3' = 3), เลือก = 1)
ฟังก์ชั่น Shiny Output
Shiny ให้ฟังก์ชันเอาต์พุตต่างๆที่แสดง ร เอาต์พุตเช่นพล็อตรูปภาพตาราง ฯลฯ ซึ่งแสดงผลที่สอดคล้องกัน ร วัตถุ.
plotOutput ()
- แสดงวัตถุพล็อต R
plotOutput'top_batsman ')
-
tableOutput ()
- แสดงผลลัพธ์เป็นตาราง
tableOutput'player_table ')
2. ฟังก์ชันเซิร์ฟเวอร์
เซิร์ฟเวอร์ ฟังก์ชัน dปรับแต่งตรรกะฝั่งเซิร์ฟเวอร์ของแอป Shiny เกี่ยวข้องกับการสร้างฟังก์ชันและเอาต์พุตที่ใช้อินพุตเพื่อสร้างเอาต์พุตประเภทต่างๆ ไคลเอนต์ (เว็บเบราว์เซอร์) แต่ละตัวเรียกใช้ฟังก์ชันเซิร์ฟเวอร์เมื่อโหลดแอป Shiny เป็นครั้งแรก เอาต์พุตแต่ละรายการเก็บค่าที่ส่งคืนจากฟังก์ชันการแสดงผล
ฟังก์ชันเหล่านี้จับนิพจน์ R และทำการคำนวณและประมวลผลล่วงหน้าในนิพจน์ ใช้ฟังก์ชัน render * ที่สอดคล้องกับเอาต์พุตที่คุณกำลังกำหนด เราเข้าถึงวิดเจ็ตอินพุตโดยใช้ ใส่ $ [widget-id] . ตัวแปรอินพุตเหล่านี้เป็นค่ารีแอคทีฟ ตัวแปรกลางใด ๆ ที่สร้างขึ้นโดยใช้ตัวแปรอินพุตจำเป็นต้องทำปฏิกิริยาโดยใช้ ปฏิกิริยา ({}) . เข้าถึงตัวแปรโดยใช้ ()
แสดงผล ฟังก์ชัน * ทำการคำนวณภายในฟังก์ชันเซิร์ฟเวอร์และเก็บไว้ในตัวแปรเอาต์พุต ต้องบันทึกผลลัพธ์ด้วย เอาต์พุต $ [ชื่อตัวแปรเอาต์พุต] . แต่ละ แสดงผล * ฟังก์ชันรับอาร์กิวเมนต์เดียวเช่นนิพจน์ R ที่ล้อมรอบด้วยเครื่องหมายวงเล็บ {}
3. ฟังก์ชั่น ShinyApp
shinyApp ()
ฟังก์ชั่นคือหัวใจของแอพที่โทร หัวหอม และ เซิร์ฟเวอร์ ฟังก์ชั่นในการสร้างแอพ Shiny
ภาพด้านล่างแสดงโครงร่างของแอป Shiny
ไปยังส่วนถัดไปในบทแนะนำ R Shiny เพื่อสร้างแอป R Shiny ตัวแรก
สร้างโครงการเว็บ Shiny
ไปที่ ไฟล์ และสร้างไฟล์ โครงการใหม่ ในไดเร็กทอรีใด ๆ -> โปรแกรมเว็บเงา -> [ชื่อไดเรกทอรีแอปพลิเคชัน Shiny] ป้อนชื่อไดเร็กทอรีและคลิก ตกลง .
โครงการแอป Shiny ใหม่ทุกโครงการจะมีตัวอย่างฮิสโตแกรมเพื่อทำความเข้าใจพื้นฐานของแอปเงา แอปฮิสโตแกรมมีแถบเลื่อนตามด้วยฮิสโตแกรมที่อัปเดตผลลัพธ์สำหรับการเปลี่ยนแปลงในแถบเลื่อน ด้านล่างนี้คือผลลัพธ์ของแอปฮิสโตแกรม
ในการเรียกใช้แอป Shiny ให้คลิกที่ไฟล์ เรียกใช้แอป ที่มุมขวาบนของบานหน้าต่างต้นทาง แอป Shiny จะแสดงวิดเจ็ตตัวเลื่อนซึ่งรับจำนวนถังขยะเป็นอินพุตและแสดงผลฮิสโตแกรมตามอินพุต
ตอนนี้คุณเข้าใจโครงสร้างและวิธีเรียกใช้แอป Shiny แล้ว มาสร้างแอป Shiny ตัวแรกของเรากัน
สร้างแอป Shiny ตัวแรก
คุณสามารถสร้างโปรเจ็กต์ใหม่หรือดำเนินการต่อในไดเร็กทอรีการทำงานเดียวกัน ในบทช่วยสอน R Shiny นี้เราจะสร้างแอป Shiny ง่ายๆเพื่อแสดงสถิติ IPL สามารถดาวน์โหลดชุดข้อมูลที่ใช้ในแอปได้ ที่นี่ . ชุดข้อมูลประกอบด้วย 2 ไฟล์ Deliveryies.csv มีการส่งมอบคะแนนสำหรับแต่ละลูก (มากกว่า) ผู้ตีลูกกะลาวิ่งรายละเอียดและ match.csv ไฟล์มีรายละเอียดการแข่งขันเช่นตำแหน่งการแข่งขันการโยนรายละเอียดสถานที่และเกม แอพด้านล่างนี้ต้องการความรู้พื้นฐาน dplyr และ เพื่อทำความเข้าใจบทแนะนำด้านล่าง
ทำตามขั้นตอนด้านล่างเพื่อสร้างแอพเงางามตัวแรกของคุณ
ขั้นตอนที่ 1 : สร้างโครงร่างของแอพ Shiny
ล้างรหัสที่มีอยู่ยกเว้นคำจำกัดความของฟังก์ชันในไฟล์ แอป . ร ไฟล์.
ขั้นตอนที่ 2 : โหลดไลบรารีและข้อมูล
ในขั้นตอนนี้เราโหลดแพ็คเกจและข้อมูลที่จำเป็น จากนั้นทำความสะอาดและแปลงข้อมูลที่แยกออกมาเป็นรูปแบบที่ต้องการ เพิ่มรหัสด้านล่างก่อน หัวหอม และ เซิร์ฟเวอร์ ฟังก์ชัน
รหัส:
ไลบรารี (เงา) ไลบรารี (tidyverse) # กำลังโหลดชุดข้อมูล --------------------------------------- ---------------- การส่งมอบ = read.csv ('C: UsersCherukuri_SindhuDownloadsdeliveries.csv', stringsAsFactors = FALSE) ตรงกับ = read.csv ('C: UsersCherukuri_SindhuDownloadsmatches.csv', stringsAsFactors = FALSE) # ชุดข้อมูลการทำความสะอาด --------------------------------------------- --------- ชื่อ (การแข่งขัน) [1] = 'match_id' IPL = dplyr :: inner_join (การแข่งขันการส่งมอบ)
คำอธิบาย :
2 บรรทัดแรกโหลด เป็นระเบียบเรียบร้อย และ เงางาม แพ็คเกจ 2 บรรทัดถัดไปจะโหลดการส่งมอบชุดข้อมูลและจับคู่และจัดเก็บในตัวแปรการส่งมอบ
และการแข่งขัน
. 2 บรรทัดสุดท้ายอัปเดตชื่อคอลัมน์ของการแข่งขัน
ชุดข้อมูลเพื่อทำการรวมภายในกับไฟล์การส่งมอบ
โต๊ะ. เราเก็บผลการเข้าร่วมไว้ในไฟล์IPL
ตัวแปร.
ขั้นตอนที่ 3 : สร้างเค้าโครงของแอป Shiny .
ตามที่กล่าวไว้ก่อนหน้านี้ หัวหอม ฟังก์ชันกำหนดรูปลักษณ์วิดเจ็ตและวัตถุของแอปในแอป Shinyเรามาคุยกันโดยละเอียด
รหัส
หัวหอม<- fluidPage( headerPanel('IPL - Indian Premier League'), tabsetPanel( tabPanel(title = 'Season', mainPanel(width = 12,align = 'center', selectInput('season_year','Select Season',choices=unique(sort(matches$season, decreasing=TRUE)), selected = 2019), submitButton('Go'), tags$h3('Players table'), div(style = 'border:1px black solidwidth:50%',tableOutput('player_table')) )), tabPanel( title = 'Team Wins & Points', mainPanel(width = 12,align = 'center', tags$h3('Team Wins & Points'), div(style = 'float:leftwidth:36%',plotOutput('wins_bar_plot')), div(style = 'float:rightwidth:64%',plotOutput('points_bar_plot')) ) )))
หัวหอม ฟังก์ชันประกอบด้วยไฟล์ headerPanel () หรือ titlePanel () และตามด้วย tabsetPanel เพื่อกำหนดหลายแท็บในแอพ tabPanel () กำหนดวัตถุสำหรับแต่ละแท็บตามลำดับ แต่ละ tabPanel () ประกอบด้วยชื่อเรื่องและ mainPanel () mainPanel () สร้างคอนเทนเนอร์ที่มีความกว้าง 12 เช่นเต็มหน้าต่างและจัดแนววัตถุอินพุตและเอาต์พุตให้อยู่ตรงกลาง
คำอธิบาย
แอพประกอบด้วย 2 แท็บ: ฤดูกาล และ ทีมชนะและคะแนน
ฤดูกาล แท็บประกอบด้วย เลือกอินพุต ( ) ปุ่มส่งและตาราง season_year ใช้เพื่ออ่านอินพุตจาก lมีค่า tableOutput () แสดงผลลัพธ์ของตารางที่คำนวณจากฟังก์ชันเซิร์ฟเวอร์ตาราง player_table จะแสดงอยู่ด้านล่างปุ่มซึ่งกำหนดไว้ในฟังก์ชันเซิร์ฟเวอร์ซึ่งจะกล่าวถึงในขั้นตอนต่อไป ทีมชนะและคะแนน แท็บแสดงการชนะและคะแนนที่ชาญฉลาดของทีมในแผนภูมิแท่งตามลำดับ plotOutput () แสดงผลลัพธ์ที่ส่งคืนจากการแสดงผล * ฟังก์ชั่น. ฟังก์ชันอินพุตเอาต์พุตทั้งหมดจะอยู่ภายในแท็ก div เพื่อเพิ่มสไตล์อินไลน์
ตอนนี้เราคุ้นเคยกับฟังก์ชัน ui แล้วเรามาทำความเข้าใจและใช้ฟังก์ชันเซิร์ฟเวอร์ในบทแนะนำ R Shiny กันดีกว่า
ขั้นตอนที่ 4: เพิ่มคำสั่งฟังก์ชันเซิร์ฟเวอร์
เซิร์ฟเวอร์ ฟังก์ชันเกี่ยวข้องกับการสร้างฟังก์ชันและส่วนต่างuts ที่ใช้อินพุตของผู้ใช้เพื่อสร้างเอาต์พุตประเภทต่างๆฟังก์ชันเซิร์ฟเวอร์อธิบายทีละขั้นตอนด้านล่าง
match_year = reactive ({match%>% filter (season == input $ season_year)}) playoff = reactive ({nth (sort (match_year () $ match_id, ลดลง = TRUE), 4)}) match_played = reactive ({match_year ()%>% กรอง (match_id% group_by (team1)%>% สรุป (count = n ())}) t2 = reactive ({match_played ()%>% group_by (team2)%>% สรุป (count = n ( ))}) wl = reactive ({match_played ()%>% filter (ผู้ชนะ! = '')%>% group_by (ผู้ชนะ)%>% สรุป (no_of_wins = n ())}) wl1 = reactive ({match_played ( )%>% group_by (ผู้ชนะ)%>% สรุป (no_of_wins = n ())}) ผูก = รีแอคทีฟ ({match_played ()%>% filter (ผู้ชนะ == '')%>% เลือก (team1, team2)} ) playertable = reactive ({data.frame (Teams = t1 () $ team1, Played = t1 () $ count + t2 () $ count, Wins = wl () $ no_of_wins, Points = wl () $ no_of_wins * 2) })
ตัวกรองรหัสด้านบนจะเล่นก่อนรอบตัดเชือกในแต่ละปีและเก็บผลลัพธ์ไว้ในตัวแปร match_playedplayer_table
ตารางประกอบด้วยสถิติการแข่งขันที่ชาญฉลาดของทีมเช่นเล่นชนะและคะแนน ตัวแปรmatch_played
,player_table
,t1
,ผูก
ฯลฯ ทั้งหมดอยู่ในระดับกลาง ค่าปฏิกิริยา . จำเป็นต้องเข้าถึงตัวแปรเหล่านี้โดยใช้ () ดังที่แสดงในโค้ดด้านบนplayer_table
แสดงโดยใช้ฟังก์ชัน renderTable จากนั้นสร้างตัวแปรเอาต์พุตเพื่อเก็บข้อมูลที่สามารถเล่นได้
เอาต์พุต $ player_table = renderTable ({playertable ()})
ตอนนี้ให้สร้างแผนภูมิแท่งเพื่อแสดงการชนะและคะแนนที่แต่ละทีมทำได้ในฤดูกาล โค้ดด้านล่างแสดงแผนภูมิแท่งโดยใช้ ggplot renderPlot () ดึงวัตถุ ggplot และเก็บผลลัพธ์ไว้ในตัวแปรwins_bar_plot
รหัส ggplot สามารถอธิบายได้ด้วยตนเองซึ่งเกี่ยวข้องกับกราฟิกพื้นฐานและฟังก์ชันการทำแผนที่เพื่อแก้ไขคำอธิบายป้ายกำกับและพล็อต
เอาท์พุท $ wins_bar_plot = renderPlot ({ggplot (wl1 () [2: 9,], aes (ผู้ชนะ, no_of_wins, เติม = ผู้ชนะ)) + geom_bar (stat = 'identity') + theme_classic () + xlab ('Teams') + ylab ('จำนวนครั้งที่ชนะ') + ธีม (axis.text.x = element_text (color = 'white'), legend.position = 'none', axis.title = element_text (size = 14), plot.background = element_rect (color = 'white')) + geom_text (aes (x = winner, (no_of_wins + 0.6), label = no_of_wins, size = 7))}) เอาต์พุต $ points_bar_plot = renderPlot ({ggplot (playertable (), aes ( ทีมคะแนนเติม = ทีม)) + geom_bar (stat = 'identity', size = 3) + theme_classic () + ธีม (axis.text.x = element_text (color = 'white'), legend.text = element_text ( size = 14), axis.title = element_text (size = 14)) + geom_text (aes (Teams, (Points + 1), label = Points, size = 7))})
ขั้นตอนที่ 5: เรียกใช้แอป Shiny
คลิกที่ Run App ด้วยการรันที่ประสบความสำเร็จแอพ Shiny ของคุณจะมีลักษณะดังนี้ ข้อผิดพลาดหรือคำเตือนใด ๆที่เกี่ยวข้องกับแอปจะแสดงสิ่งเหล่านี้ใน R Console
Tab1 - ฤดูกาล
ความแตกต่างระหว่างหุ่นกับเชฟ
Tab2 - ทีมชนะและคะแนน
มาดูวิธีการเพื่อติดตั้งบัญชี Shinyapps.io เพื่อปรับใช้แอป Shiny ของคุณ
ตั้งค่าบัญชี Shinyapps.io
ไปที่ สhinyapps.io และลงชื่อเข้าใช้ด้วยข้อมูลของคุณจากนั้นให้ชื่อบัญชีเฉพาะสำหรับเพจและบันทึก หลังจากบันทึกสำเร็จคุณจะเห็นขั้นตอนโดยละเอียดในการปรับใช้แอพจาก R Console ทำตามขั้นตอนด้านล่างเพื่อกำหนดค่าบัญชีของคุณใน Rstudio
ขั้นตอนที่ 1. ติดตั้ง rsconnect
install.packages ('rsconnect')
ขั้นตอนที่ 2. อนุญาตบัญชี
rsconnect แพ็กเกจต้องได้รับอนุญาตให้กับบัญชีของคุณโดยใช้โทเค็นและความลับ ในการดำเนินการนี้ให้คัดลอกคำสั่งทั้งหมดตามที่แสดงด้านล่างในหน้าแดชบอร์ดของคุณใน ร คอนโซล เมื่อคุณป้อนคำสั่งสำเร็จใน R ตอนนี้ฉันอนุญาตให้คุณปรับใช้แอปพลิเคชันกับบัญชี Shinyapps.io ของคุณ
rsconnect :: setAccountInfo (ชื่อ = 'ชื่อบัญชี', โทเค็น = 'โทเค็น', ความลับ = 'ความลับ')
ขั้นตอนที่ 3. ปรับใช้แอป
ใช้โค้ดด้านล่างเพื่อปรับใช้แอพ Shiny
ไลบรารี (rsconnect) rsconnect :: deployApp ('path / to / your / app')
เมื่อตั้งค่าแล้วคุณก็พร้อมที่จะใช้งานแอพพลิเคชั่นเงางามของคุณ
ตอนนี้คุณได้เรียนรู้วิธีสร้างและเรียกใช้แอพ Shiny แล้วให้ปรับใช้แอพที่เราเพิ่งสร้างลงใน Shinyapps.io ตามที่อธิบายไว้ข้างต้นหรือคลิกที่ เผยแพร่ ซึ่งแสดงอยู่ที่มุมขวาบนของหน้าต่างแอพ Shiny
ฉันหวังว่าว่าบทช่วยสอน R Shiny นี้ช่วยให้คุณเรียนรู้วิธีสร้างและเรียกใช้แอป Shiny ขอให้สนุกกับการสร้างเว็บแอปแบบโต้ตอบและสวยงามโดยใช้ R Shiny
หากคุณต้องการเรียนรู้การเขียนโปรแกรม R และสร้างอาชีพที่มีสีสันในการวิเคราะห์ข้อมูลโปรดดูที่ ซึ่งมาพร้อมกับการฝึกอบรมสดที่นำโดยผู้สอนและประสบการณ์โครงการในชีวิตจริง การฝึกอบรมนี้จะช่วยให้คุณเข้าใจการวิเคราะห์ข้อมูลและช่วยให้คุณมีความเชี่ยวชาญในเรื่องนั้น ๆ