R學習筆記:資料清理Cleaning Data (2)

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

str_pad():將0補上字串資料 str_detect():偵測向量資料中的特定字串 str_replace() : 尋找並取代文字值(例如用-取代e,"one apple"會變成on- apple) 跳至內容區 R資料變項基本型態 如同上一篇提到的,我們常用class()來檢視欄位的資料型態,下列是R的幾種資料型態: character(文字變項):“test",“星期一",“Abc" numeric(數值變項):10.54,100,NaN,Inf integer(整數變項):5L,1430L factor(類別變項):factor(“Yeah"),factor(7) logical(邏輯變項):TRUE,FALSE,NA 有時候我們需要做資料型態的轉換,以下是常見的幾個語法 as.character() as.numeric() as.integer() as.factor() as.logical() 若想要一次轉換所有欄位變項,可以使用mutate_each(fromdplyr): #Convertcharacterstonumerics df2%>%tbl_df()%>%mutate_each(funs(as.numeric))%>%glimpse 清理日期資料常見套件:lubridate ymd(“2013-11-01″) [1]“2013-11-01UTC" ymd(“2013November01″) [1]“2013-11-01UTC" mdy(“November01,2013) [1]“2013-11-01UTC" hms(“21:42:56″) #hour-minute-second [1]“21H42M56S" ymd_hms(“2013/11/0121.42.56″) [1]“2013-11-0121:42:56UTC" 清理文字資料常見套件:stringr 針對文字變項,下列幾個語法是我們常用到的: str_trim():將頭尾的空白去掉 str_pad():將0補上字串資料 str_detect():偵測向量資料中的特定字串 str_replace():尋找並取代文字值(例如用-取代e,"oneapple"會變成on-apple) str_replace_all():執行多次尋找並取代文字值(例如用-取代e,"oneapple"會變成on-appl-) tolower():將字串變為小寫 toupper():將字串變為大寫 下列是相關範例: 額外補充: 根據字串來做資料分割 listcolumnyouwanttogroup group_by可以搭配summarise,mutate Pipe%>%:Magrittr 必須先安裝Magrittrpackage %>%是介於物件(object)和功能(function)之間的操作值:object%>%function(_____,arg1,arg2…) 處理遺漏值 在R中,遺漏值有幾個代表呈現/輸入方式:Inf(infinitevalue),Nan(Notanumber),NA。

我們可以利用is.na(data),which(is.na(data))來看哪些是遺漏值,sum(is.na(data))可以幫我們計算共有幾個。

我們也可以用summary()來看整個資料中共有幾個遺漏值。

如果我們想找出有哪幾筆資料是遺漏值,則可以用complete.cases(df)。

若我們希望只保留沒有遺漏值的資料,可以使用df[complete.cases(df),]或是na.omit(df)做出資料切割 參考:http://www.statmethods.net/input/missingdata.html 處理極端值 往往因為一些因素我們的資料中出現了不合理或不尋常的極端值,它可能確實是來自正確的量測方式,或是因為測量方式不同產生的資料,或是實驗中發生的錯誤,或是資料輸入產生的錯誤。

如何處理極端值,要看它的出現的原因。

我們可以利用前面學過的hist(df$variablename,breaks=n)或是boxplot(df)來看出極端值的分佈。

若我們希望取代極端值或遺漏值,我們可以先利用which(df$var==n)或是which(is.na(df$var))找出所在位置,另存為ind,再利用df[ind,]來查看,並可以使用df$var[ind] 備註:在長條圖中,R的預設值為right-close的呈現方式,也就是(a,b]大於a小於或等於b,若要改為[a,b),則要在hist()中下right=FALSE的指令 資料重新編碼 我們常常針對特定字串欄位,做重新編碼,其中一種方法如下: gender_recode將重新編碼規則建立一個vector A$Gender重新編碼(改過本來的欄位)   分享此文:分享到Twitter(在新視窗中開啟)按一下以分享至Facebook(在新視窗中開啟)請按讚:喜歡正在載入... 發表迴響取消回覆 在此輸入你的回應… 在下方填入你的資料或按右方圖示以社群網站登入: 電子郵件(必須填寫)(電子郵件地址不會公開) 名稱(必須填寫) 個人網站 您的留言將使用WordPress.com帳號。

( 登出 /  變更 ) 您的留言將使用Twitter帳號。

( 登出 /  變更 ) 您的留言將使用Facebook帳號。

( 登出 /  變更 ) 取消 連結到%s 透過電子郵件通知我後續回應。

有新文章時用Email通知我。

Δ 文章分頁導航 前上一篇文章:R語言學習筆記:資料清理CleaningData (1)下一個下一篇文章:2017長灘島BoracayDay1 搜尋關於: 搜尋 近期文章 R學習筆記:ggplot 作圖 R學習筆記: 資料清理實際案例(持續更新) R學習筆記:mergedata之 rbind.fill 好書筆記:少,但是更好 好書筆記:做自己的生命設計師DesigningYourLife (下) 近期迴響 鄭雯在好書筆記:做自己的生命設計師DesigningYour…Jason在好書筆記:做自己的生命設計師DesigningYour…SuRongYing在好書筆記:做自己的生命設計師DesigningYour… 文章存檔 2020年二月 2019年四月 2018年八月 2018年六月 2017年六月 2017年五月 2017年四月 2017年三月 2017年二月 2017年一月 2016年六月 分類 發懶小魯的學習紀錄 長照 讀冊筆記 TravelAbroad 心理健康 其它 註冊 登入 訂閱網站內容的資訊提供 訂閱留言的資訊提供 WordPress.com 搜尋關於: 搜尋 近期文章 R學習筆記:ggplot 作圖 R學習筆記: 資料清理實際案例(持續更新) R學習筆記:mergedata之 rbind.fill 好書筆記:少,但是更好 好書筆記:做自己的生命設計師DesigningYourLife (下) 近期迴響 鄭雯在好書筆記:做自己的生命設計師DesigningYour…Jason在好書筆記:做自己的生命設計師DesigningYour…SuRongYing在好書筆記:做自己的生命設計師DesigningYour… 文章存檔 2020年二月 2019年四月 2018年八月 2018年六月 2017年六月 2017年五月 2017年四月 2017年三月 2017年二月 2017年一月 2016年六月 其它 註冊 登入 訂閱網站內容的資訊提供 訂閱留言的資訊提供 WordPress.com 分類 發懶小魯的學習紀錄 長照 讀冊筆記 TravelAbroad 心理健康 搜尋關於: 搜尋 近期文章 R學習筆記:ggplot 作圖 R學習筆記: 資料清理實際案例(持續更新) R學習筆記:mergedata之 rbind.fill 好書筆記:少,但是更好 好書筆記:做自己的生命設計師DesigningYourLife (下) 近期迴響 鄭雯在好書筆記:做自己的生命設計師DesigningYour…Jason在好書筆記:做自己的生命設計師DesigningYour…SuRongYing在好書筆記:做自己的生命設計師DesigningYour… 文章存檔 2020年二月 2019年四月 2018年八月 2018年六月 2017年六月 2017年五月 2017年四月 2017年三月 2017年二月 2017年一月 2016年六月 分類 發懶小魯的學習紀錄 長照 讀冊筆記 TravelAbroad 心理健康 其它 註冊 登入 訂閱網站內容的資訊提供 訂閱留言的資訊提供 WordPress.com 分類 發懶小魯的學習紀錄 長照 讀冊筆記 TravelAbroad 心理健康 隱私權與Cookie:此網站可使用Cookie。

繼續使用此網站即表示你同意使用Cookie。

若要瞭解更多資訊,包括如何控制Cookie,請參閱此處: Cookie政策 追蹤 已追蹤 Allison'sDailyCupofInspiration 加入其他800位關注者 我要註冊 已經有WordPress.com帳號了?立即登入。

Allison'sDailyCupofInspiration 自訂 追蹤 已追蹤 註冊 登入 複製短網址 回報此內容 以閱讀器檢視 管理訂閱 收合此列   載入迴響中...   發表迴響… 電子郵件(必要) 名稱(必要) 網站 %d位部落客按了讚:



請為這篇文章評分?