在R的互動是網頁中必須安裝Shiny套件,如何安裝套件在第二篇資料的視覺化有明確說明,而我們以最簡單的例子來說明,在網頁有輸入框及選擇縣市,當我輸入文字及選擇縣市時右側會顯示,成果如下圖
上面就Shiny網頁的基本語法,不論你要從頭寫還是要複製貼上,上述程式都是一個基本的模板,了解這個基本模板你在參閱一些網路大神作品,你才能使用吸星大法納為己有,首先看下圖三個紅框
在R的互動是網頁中必須安裝Shiny套件,如何安裝套件在第二篇資料的視覺化有明確說明,而我們以最簡單的例子來說明,在網頁有輸入框及選擇縣市,當我輸入文字及選擇縣市時右側會顯示,成果如下圖
上面就Shiny網頁的基本語法,不論你要從頭寫還是要複製貼上,上述程式都是一個基本的模板,了解這個基本模板你在參閱一些網路大神作品,你才能使用吸星大法納為己有,首先看下圖三個紅框
在以前對互動式這個名詞的感覺,停留在電玩以及PS4才是我認知的互動式的感覺,而網頁也有互動式但在個人的感覺,都是功能為什麼要稱互動式?隨著年紀漸長寫程式的經驗也愈多,看的書籍也相對的多,對網頁互動式的認知也愈來愈清晰,相對我將PS4的遊戲互動降到1/10000就是網頁的互動了!也沒錯!在一些分析的資料PO到網頁上,可讓使用者輸入或拖動拉桿的數值來觀看不同的結果,讓你的分析結果更讓其他人了解,就可稱之為互動式的結果。
相對在R的世界將你的分析結果PO到網頁上呈現就是套件Shiny,翻成中文叫閃亮,那Shiny這個套件跟一般的Web程式有何不同ㄋ?一般的MIS系統都是因應組織單位任務不同所開發出來,所以會有完整的業務流程,並可快速進行業務資料回溯(就是查詢),而使用的語言目前在台灣就是.NET、JAVA、Javascript、PHP,相對這些應用程式都會配合資料庫進行操作。
而R並不是為上述MIS系統而生,若你要用R寫出MIS系統也不是不可以,只是很痛苦而已,所以R就跟他當初的定位一樣就是在資料科學的領域上做分析、預測、統計檢定....等等,Shiny將這些結果以互動式網頁將你的分析結果或預測結果做呈現,而這種呈現會跟你在寫MIS系統的成就很不一樣(我個人感覺)。
最近附近的朋友或同學都在跟我爭論用Python還是R,這種問題就是很早以前要用JAVA還是.NET是一樣,在早期工程師一般都支持JAVA剩至為了支持還集體辭職,到了現在還不是喜歡用.NET繼續用,喜歡用JAVA也繼續用,兩方也不在爭論那一種語言比較好,彼此也互相承認兩種語言的優點,是啊!現在的R和Python不是跟以前一樣,若是就是硬要區分也可以,可區分兩部分
一、學習包袱
若是你已經對MIS系統開發有一定程度或是公司的開發皆以MIS系統為主,所以你對.NET、JAVA、PHP有一定程度的了解,我會建議學習R,因為工程師的青春是有限的學習某一種語言都需要花時間的,而R就是為了巨量資料而來,而R的學習曲線也不高,所以兩者加起來Web及大數據R兩者都會,相對競爭力提高並且兩者互不衝突。
若是你剛進入程式的領域對我會建議你學Python,因為Python對於Web和大數據都很支援,對於建立領域應用的觀念都是很好的程式工具,並且也很新潮對你找工作也有幫助。
二、專注於資料科學領域
這一部分就是要看兩套語言的能力了,其實對於一般資料分析(EDA)兩者軟體不分伯仲,但網路上有人說大量資料還是用Python比較好,我個人覺得這是一個假議題,就像我的資料探勘的老師說,資料要多大才能稱之為大?以我這次參加鐵人找題目做實驗,跑一個10萬和20-30萬筆資料也是嚇嚇叫,跑統計圖也沒讓我等,注意我的筆電i5 CPU低電壓 8GB 內建顯卡,所以說當資料大到某一個程度時,不論是Python還是R都要用專業伺服器跑,要不然每所大學都有大數據實驗中心是假的嗎?但兩套語言還是有不一樣的,說明如下
R對於統計、統計檢定、機器學習、資料探勘等是較為強大。
Python對於深度學習、類神經網路、Web是較為強大的。
所以你的職業是專注那一部份就很重要了,當然網路上有人說兩套都學,因為你在做預測模型時會用到統計檢定,看你的模型的準確性,而R的統計檢定真的很簡單,因為他就是做統計出身的語言,當然你要用Python進行統計檢定也可以,那就自行寫程式,而R就一行就搞定,所以這部分就看大家的需求而定了。
當然我並不是要爭論兩套語言誰比較好,並說服大家選邊站,只是最近在學校及朋友都有討論到這話題,在討論中雙方都進入二元論中,就是有你沒有我,有我沒有你,甚至連我都進入這個二元論中,這也難怪!當你努力學習某一種語言時,被人否定時當然會不舒服,相對他人也是如此....所以寫這篇文章畢竟開卷有益,學習東西都是好事,每種語言只要符合你的需求都是好語言。
在第一篇中的引言有講到第二階段會以實際案例為主,到了上一篇也就告一段落,所以進入第三階段就是R 的 Shiny套件,所以這一篇也算是第三階段的引言,所以後續都會以Shiny套件為主,當然我也會以自身的經驗為主,一開始不會用很炫的案例,因為當初在學習Shiny就被這些酷炫的範例給迷惑,結果自己要從無到有不知道如何建立,甚至閱讀其他人的程式碼也很辛苦,所以會以基礎到實際。
下一篇見!
上一篇用R寫論文做到信度分析,後面就是效度分析,本想繼續寫下去但要講到KOM、球形、CFA、SEM等檢定方法,若是寫下去各位程度都沒問題一定都看得懂,但小弟必須將研究方法上下學期筆記拿起來在K一遍,消化完再用言簡意賅寫出來,心想天都亮了!再者,後面的效度分析以及建構因子,有在寫論文的人比較用得到,對於商業的應用比較少,比較多的是上一篇的信度分析及基本分析,經過幾番思量用R寫論文就到上一篇就告一段落,就像寫論文題目太大寫的人很辛苦,看的人也很累,因此本篇就以我母親的抱怨為題目吧!
本篇系列的資料集來自政府資料公開平台中,在搜尋欄位輸入農產品交易,會出現各縣市的農產品交易,但我們以農委會所產的資料為主。但近一個月的觀察農委會將每日交易行情在中午12點以前PO到資料公開平台,所以我就翻遍資料公開平台所有連結,就是要找到網址界接,並使用for迴圈撈一個月的資料,但怎麼都沒看到,所以採用每日單點下載,所以日期會跳日不過這不會影響我們的分析,資料下載點:https://drive.google.com/file/d/1dMXFMZ5WhfR03bWbNMmm0c0CxutoeJVH/view?usp=sharing
解壓縮後會看到一堆csv檔案,所以我們會用list.file()函式將資料夾內的csv檔案彙整為一個資料集,其時我個人很喜歡這個函式,因為在平常會有很多的檔案要做分析,稍做整理就能成為一個資料集,注意資料夾就只有本次的csv檔案不要參雜其他的csv檔案,程式碼如下
上一篇是論文的基本分析就是將問卷發放後,觀察填寫問卷者的背景,而本篇介紹的為問卷的信度,也就是這一份問卷經多人填寫完後,問卷的結果可信度是如何?而信度分析若發放問卷,都一定會做,像我們的總統大選都會做問卷調查,調查完後一定做信度分析。
而甚麼是信度分析所謂信度是衡量沒有誤差的程度,也是測驗結果的一致性(consistency)程度,信度是以衡量的變異理論為基礎。
為什麼會有誤差,因為發放問卷填寫者會受到以下影響,第3項和第4項是可控制,而第一項和第二項是較難控制,因此需進行信度分析,以了解此份問卷的結果是否可相信。
1.由回應者(respondent)產生的誤差
2.由情境因素產生的誤差
3.由衡量者產生的誤差
4.由衡量工具產生的誤差
信度分析衡量包含了再測信度、折半信度、複本信度、庫李信度等,一般問卷都會採用庫李信度,也就是內部一致性,每一個問項的可信度。
上面概略解釋所謂的信度分析,看起來似乎有點複雜,但在R做信度分析尤其是內部一致性是很簡單,甚至比在做探索性分析還簡單。
首先我依然採用網路的資料集來,而這次下載資料集的方法有點不一樣,先建立暫存變數(存放),使用download.file()下載,在將資料讀進R,程式法如下
這是人們對等級從1 =不同意到5 =同意的外向性項目的列表:
**購物經歷** - 作者花費大量時間尋找立燈,最終在IKEA購買了一個649元的立燈 - 在IKEA附近停車場遇到只接受無現金支付的情況,被迫註冊並使用Line Pay **無現金支付的觀察** - 作者認為Line Pay作為前端介面,有助於提高停車場付費效率 - 作者預...