R學習筆記:資料清理Cleaning Data (2)
文章推薦指數: 80 %
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位部落客按了讚:
延伸文章資訊
- 1Replace 取代· Begin to Learn R - begin4learn
如同在修訂文件時常用的取代功能,我們常需要在文字中將符合某些特徵或關鍵字的部分搜尋出來 ... R 語言中使用 ... 如何掌控資料:關於文字在Python 與R 語言處理文字 ...
- 2在R 中用0 代替NA | D棧
在本文中,你將瞭解兩種將資料框中的NA 值替換為零值的方法。其中一種使用Base R 子集重分配,而另一種則包含在dplyr 包中,執行速度快30%。
- 3R語言學習筆記(二):常用指令 - Yanwei Liu
as.character(my_logical) # "TRUE"### R 語言基本的資料結構大致有五類。 ... merge(data1, data2, all = FALSE)#grep,...
- 4R教學第9章:尋找和取代資料
下一篇教學,我們要教你如何把處理完畢的資料,輸出成一份CSV檔,以及把你寫的R script存成以後可以重複使用的程式檔。 sixToTen R r language data ...
- 56 資料處理與清洗| 資料科學與R語言
介紹如何使用R語言完成資料讀取、處理、分析與呈現,以及大數據技術與R的整合. ... 在所有的程式語言中,只要用到字串比對與字串取代等字串相關功能,都會用到正規表示 ...