6 資料處理與清洗| 資料科學與R語言

文章推薦指數: 80 %
投票人數:10人

介紹如何使用R語言完成資料讀取、處理、分析與呈現,以及大數據技術與R的整合. ... 在所有的程式語言中,只要用到字串比對與字串取代等字串相關功能,都會用到正規表示 ... 資料科學與R語言 1R語言101 1.1什麼是R語言 1.2函數使用 1.3變數設定 1.4執行視窗 1.5資料型態 1.5.1數值numeric 1.5.2字串character 1.5.3布林變數logic 1.5.4日期(Date) 1.6基本運算子 1.6.1數學基本運算 1.6.2邏輯運算 1.7錯誤訊息 1.8Help 2R資料結構 2.1向量vector 2.1.1快速產生向量函數 2.1.2向量運算 2.2因子factor 2.3列表list 2.3.1列表資料擷取 2.3.2列表資料編輯設定 2.4矩陣matrix 2.5資料框data.frame 2.6資料表data.table 2.7資料屬性查詢函數 3控制流程 3.1條件判斷 3.1.1if-else敘述 3.1.2if-elseif-else 4函數 4.1為什麼需要函數 4.2函數組成 4.3函數命名原則 4.4函數範例 4.5函式編程Functionalprogramming 4.6purrr 4.7map2family 4.8參考資料 5資料讀取與匯出 5.0.1純文字資料(無分隔) 5.0.2其他讀檔注意事項 5.0.3API(Applicationprogramminginterfaces) 5.0.4XML可延伸標記式語言 5.0.5網頁爬蟲Webscraping 5.1Facebook資料擷取 5.1.1GraphAPIinR 5.1.2Rfacebookpackage 5.2資料匯出 5.2.1文字檔.txt 5.2.2CSV檔.csv 5.2.3R物件.rds 6資料處理與清洗 6.1TidyData 6.2資料型別轉換處理 6.2.1資料型別檢查 6.2.2資料型別轉換 6.3文字字串處理 6.3.1基本處理 6.3.2搜尋字串 6.3.3正規表示式(RegularExpression) 6.4子集Subset 6.4.1一維資料(向量) 6.4.2二維資料 6.5排序 6.5.1sort向量排序 6.5.2order 6.6資料組合 6.7資料結合(Join) 6.8長表與寬表 6.9遺漏值處理 6.10綜合練習範例Casestudy 6.10.1載入資料 6.10.2資料總覽 6.10.3資料預覽 6.10.4資料排序後篩選 6.10.5欄位值篩選 6.10.6字串條件搜尋後篩選 7探索式資料分析 7.1什麼是探索式資料分析 7.2data.table 7.2.1i觀察值篩選邏輯 7.2.2j欄位選擇運算 7.2.3by分組依據 7.2.4參考文件與資源 7.3dplyr 7.3.1select() 7.3.2filter() 7.3.3mutate() 7.3.4summarise() 7.3.5group_by() 7.3.6arrange() 7.3.7rename() 7.3.8參考文件與資源 8資料視覺化 8.1資料視覺化的目的 8.2ggplot2簡介 8.2.1qplot() 8.2.2ggplot() 8.3ggplot2+地圖 8.3.1Choroplethmap面量圖 8.3.2ggmap() 8.4Taiwan的面量圖 8.4.1ggmap+面量圖 8.5Treemap 8.6參考文件與資源 9互動式資料呈現 9.1ggvis 9.2Plot.ly 9.3Shiny簡介 10資料探勘 10.1什麼是資料探勘 10.2Regression迴歸 10.2.1LinearRegression線性迴歸 10.2.2LogisticRegression羅吉斯迴歸 10.2.3最佳模型篩選 10.3DecisionTrees決策樹 10.4Clustering分群 10.4.1Hierarchicalclustering階層式分群 10.4.2K-meansclustering 10.5AssociationRules關聯式規則 10.6OpenSourcePackages 10.6.1Prophet 10.6.2TensorFlow 10.6.3MXNet 10.7模型驗證 10.7.1Regression迴歸驗證 10.7.2LogisticRegression邏輯迴歸驗證 10.7.3DecisionTrees決策樹驗證 10.8CaseStudy 10.9參考資料 11從小數據到大數據分析 11.1R+Hadoop 11.2RHadoop安裝測試流程(Cloudera) 11.2.1系統/軟體版本資訊 11.2.2參考資料 11.2.3安裝步驟 11.2.4測試前,先解決權限問題 11.2.5測試 11.2.6安裝RStudioServer 11.3RHadoopMapReduce:easywordcount 11.4R+Spark 12軟體安裝介紹 12.1R安裝 12.2RStudio安裝 12.3RStudio使用簡介 12.3.1專案 12.3.2RStudio介面 13教學影片資訊 13.1教學影片頻道連結 13.2完整版播放清單 13.3速成版播放清單 作者資訊 References Publishedwithbookdown 資料科學與R語言 6資料處理與清洗 6.1TidyData Eachcolumnisavariable.Eachrowisanobservation. 一個欄位(Column)內只有一個數值,最好要有凡人看得懂的ColumnName 不同的觀察值應該要在不同列(Row) 一張表裡面,有所有分析需要的資料 如果一定要多張表,中間一定要有index可以把表串起來 Onefile,onetable 6.2資料型別轉換處理 在資料型態章節Chapter1.5中,曾介紹數值(numeric)、字串(character)、布林變數(logic)以及日期(Date)等資料型態,在此章節中將介紹如何檢查變數型別與各型別的轉換。

6.2.1資料型別檢查 使用以下is.函數檢查資料型別,回傳布林變數,若為真,回傳TRUE 是否為數字is.numeric(變數名稱) 是否為文字is.character(變數名稱) 是否為布林變數is.logical(變數名稱) num?@[]^_`{|}~. stringVector48 ##102NBAJaeCrowderBOSSF732310 ##213NBAR.j.HunterBOSSG36319 ##228NBAJonasJerebkoBOSPF781178 ##229NBAAmirJohnsonBOSPF791798 ##300NBAJordanMickeyBOSPF1659 ##340NBAKellyOlynykBOSC691396 ##382NBATerryRozierBOSPG39310 ##400NBAMarcusSmartBOSPG611666 ##416NBAJaredSullingerBOSPF811917 ##422NBAIsaiahThomasBOSPG822647 ##433NBAEvanTurnerBOSSG812270 ##471NBAJamesYoungBOSSG29200 ##476NBATylerZellerBOSC60714 ##FieldGoalsMadeFieldGoalsAttemptedThreesMadeThreesAttempted ##604561018147406 ##892422 ##102359812122363 ##21336981963 ##22811828643108 ##2292504271043 ##30082200 ##34025355685210 ##38229106627 ##40018452961241 ##41635180729104 ##4225911382167465 ##4333437532083 ##4711136626 ##47613829000 ##FreeThrowsMadeFreeThrowsAttemptedOffensiveReboundsTotalReboundsAssists ##609612348220158 ##8900010 ##10219623970373135 ##2136723713 ##22861787728862 ##22969121178505137 ##3005106131 ##3409612872281105 ##382810246337 ##40012916676255186 ##416103161194673187 ##42247454446243509 ##43314817950397359 ##471144269 ##476881086217829 ##StealsTurnoversBlocksPersonalFoulsDisqualificationsTotalPoints ##601171091916421155 ##89010006 ##102126833519841036 ##2131411429097 ##2282052241372340 ##2295294832141579 ##30001115021 ##3405274331633687 ##382619123072 ##4009180181831558 ##41675102472092834 ##42291220916711823 ##43380169281390854 ##47165117029 ##476104622971364 ##TechnicalsEjectionsFlagrantFoulsGamesStarted ##6000072 ##890000 ##10230073 ##2130000 ##2281000 ##22900076 ##3000000 ##3401008 ##3820000 ##40020010 ##41620073 ##42290079 ##43320012 ##4710000 ##4760003 6.10.6字串條件搜尋後篩選 當然也可以結合字串搜尋函數grepl(),將所有名字裡有“James”的選手資料取出 NBA1516[grepl("James",NBA1516$Name),] ##LeagueNameTeamPositionGamesPlayedTotalMinutesPlayed ##15NBAJamesAndersonSACSG51721 ##132NBAJamesEnnisNORSF22329 ##178NBAJamesHardenHOUSG823121 ##222NBALebronJamesCLESF762710 ##231NBAJamesJohnsonTORPF57924 ##239NBAJamesJonesCLESG48466 ##286NBAJamesMcadooGSWSG41265 ##471NBAJamesYoungBOSSG29200 ##FieldGoalsMadeFieldGoalsAttemptedThreesMadeThreesAttempted ##15671782386 ##132541132658 ##1787101617236656 ##222737141687282 ##2311142402066 ##2395914341104 ##286458412 ##4711136626 ##FreeThrowsMadeFreeThrowsAttemptedOffensiveReboundsTotalReboundsAssists ##152229138641 ##1322534214221 ##17872083763502612 ##222359491111565512 ##23139682812667 ##239212685014 ##2862649305817 ##471144269 ##StealsTurnoversBlocksPersonalFoulsDisqualificationsTotalPoints ##15214214540179 ##13216195281159 ##1781383745122912376 ##2221042494914301920 ##231295433840287 ##239111310500180 ##28610168390117 ##47165117029 ##TechnicalsEjectionsFlagrantFoulsGamesStarted ##1500015 ##1320005 ##17820082 ##22230076 ##23100032 ##2391000 ##2860001 ##4710000 References Eugster,ManuelJ.A.2013.SportsAnalytics:InfrastructureforSportsAnalytics.https://CRAN.R-project.org/package=SportsAnalytics. Spinu,Vitalie,GarrettGrolemund,andHadleyWickham.2020.Lubridate:MakeDealingwithDatesaLittleEasier.https://CRAN.R-project.org/package=lubridate. Wickham,Hadley.2019b.Stringr:Simple,ConsistentWrappersforCommonStringOperations.https://CRAN.R-project.org/package=stringr. Wickham,Hadley.2020.Reshape2:FlexiblyReshapeData:ARebootoftheReshapePackage.https://CRAN.R-project.org/package=reshape2. Wickham,Hadley,andLionelHenry.2020.Tidyr:TidyMessyData.https://CRAN.R-project.org/package=tidyr.



請為這篇文章評分?