
使用R讀取并查看數(shù)據(jù)
本篇文章介紹如何使用R語(yǔ)言讀取并查看數(shù)據(jù),包含一些最基礎(chǔ)的函數(shù)使用方法和說(shuō)明。后面還會(huì)陸續(xù)介紹數(shù)據(jù)清洗,匹配和提取等相關(guān)的操作。
查看函數(shù)幫助
對(duì)于新手來(lái)說(shuō),在使用R時(shí)最重要的是了解不同函數(shù)的使用方法。很多時(shí)候我們都是邊用邊學(xué)的狀態(tài),拿到一個(gè)函數(shù)如何快速的使用起來(lái),最快捷的方法就是查看函數(shù)的幫助。在R中查看函數(shù)的幫助有兩種方法,第一種是使用help,第二種是直接在函數(shù)前加問(wèn)好(?)。R會(huì)直接顯示出這個(gè)函數(shù)是使用方法,函數(shù)說(shuō)明和示例。下面是查看具體的代碼和幫助內(nèi)容的截圖。
help(read.csv)
?read.csv
除了使用幫助功能以外,還有一個(gè)重要操作是tab鍵,在輸入函數(shù)的過(guò)程中按下tab鍵,R會(huì)自動(dòng)給出推薦的函數(shù)名稱以及參數(shù),避免很多記憶和重復(fù)輸入的工作。
準(zhǔn)備工作
在R中進(jìn)行任何操作和分析工作之前,先需要讀取數(shù)據(jù)。保存在工作目錄中的數(shù)據(jù)可以直接讀取,非工作目錄的其他位置在讀取時(shí)需要指明路徑。因此第一步工作是了解R的工作目錄。下面是具體的代碼,輸入getwd函數(shù),R返回當(dāng)前的工作目錄。
#查看工作目錄
getwd()
[1] "C:/Users/Documents"
你也可以對(duì)R的工作目錄進(jìn)行更改,使用setwd函數(shù)可以更改工作目錄的路徑。下面是具體的代碼。
#設(shè)置工作目錄
setwd("C:\\Users\\ r")
設(shè)置好工作目錄后,開(kāi)始讀取數(shù)據(jù),并創(chuàng)建數(shù)據(jù)表。我們的數(shù)據(jù)在工作目錄下,因此直接讀取并命名為loandata。
#讀取并創(chuàng)建數(shù)據(jù)表
loandata=data.frame(read.csv('loan_data.csv',header = 1))
數(shù)據(jù)概覽
使用dim函數(shù)查看數(shù)據(jù)表的行列數(shù),loandata包含30行,10列數(shù)據(jù)。
#查看數(shù)據(jù)行列數(shù)
dim(loandata)
[1] 30 10
查看列名稱
使用names函數(shù)查看數(shù)據(jù)表的列名稱,下面列出了loandata數(shù)據(jù)表所有列的列名稱。
names(loandata)
內(nèi)容概覽
還有一種更加直觀查看數(shù)據(jù)的方法,使用數(shù)據(jù)編輯器。在R中使用fix函數(shù)可以調(diào)出數(shù)據(jù)編輯器,數(shù)據(jù)編輯器類似excel的表格界面,在數(shù)據(jù)編輯器中可以對(duì)字段的名稱及類型進(jìn)行簡(jiǎn)單的修改。
#數(shù)據(jù)編輯器
fix(loandata)
查看數(shù)據(jù)表前10行
在處理的數(shù)據(jù)條目較多時(shí),可以使用head函數(shù)查看數(shù)據(jù)表。默認(rèn)情況下head函數(shù)顯示數(shù)據(jù)表的前5行數(shù)據(jù),我們也可以通過(guò)設(shè)置參數(shù)n的值來(lái)自定義顯示的行數(shù)。下面是代碼和結(jié)果截圖,在代碼中我們?cè)O(shè)置n=10來(lái)顯示數(shù)據(jù)表的前10行。
#查看數(shù)據(jù)表前10行
head(loandata,n=10)
查看數(shù)據(jù)后10行
Tail函數(shù)與head函數(shù)功能類似,用來(lái)顯示數(shù)據(jù)表的后5行數(shù)據(jù),下面的代碼中我們?cè)O(shè)置n=10來(lái)顯示數(shù)據(jù)表的后10行。
#顯示數(shù)據(jù)表后10行
tail(loandata,n=10)
查看數(shù)據(jù)類型
Typeof是查看不同字段數(shù)據(jù)類的函數(shù),下面我們使用這個(gè)函數(shù)查看了代碼數(shù)據(jù)表中貸款金額類型,顯示為double型。
#查看貸款金額列數(shù)據(jù)類型
typeof(loandata$loan_amnt)
[1] "double"
驗(yàn)證數(shù)據(jù)類型
除了直接查看字段的數(shù)據(jù)類型外,還可以對(duì)數(shù)據(jù)類型進(jìn)行驗(yàn)證。下面使用is.integer函數(shù)驗(yàn)證貸款金額字段是否為integer型。返回的結(jié)果為FALSE。說(shuō)明這個(gè)字段不是integer型。
#驗(yàn)證貸款金額字段的數(shù)據(jù)類型 is.integer(loandata$loan_amnt) [1] FALSE
更改數(shù)據(jù)類型
查看或驗(yàn)證完數(shù)據(jù)類型后,還可以更改數(shù)據(jù)類型。下面我們使用as.integer函數(shù)將貸款金額字段由之前的double型改為integer型。
#更改貸款金額字段為integer型
loandata$loan_amnt=as.integer(loandata$loan_amnt)
再次使用typeof函數(shù)查看貸款金額列的數(shù)據(jù)類型,現(xiàn)在顯示為integer型。
#查看貸款金額列數(shù)據(jù)類型
typeof(loandata$loan_amnt)
[1] "integer"
查看字段
使用數(shù)據(jù)表名稱,$符號(hào)和列名稱可以直接查看特定列中的內(nèi)容,例如查看loandata表中的term字段。后面的很多操作都會(huì)使用到。
#查看貸款數(shù)據(jù)表中的期限列
loandata$term
描述統(tǒng)計(jì)
完成了數(shù)據(jù)表的導(dǎo)入,查看和修改數(shù)據(jù)類型操作后,我們可以開(kāi)始對(duì)數(shù)據(jù)進(jìn)行一些簡(jiǎn)單的統(tǒng)計(jì)和計(jì)算工作。R中的summary是描述統(tǒng)計(jì)函數(shù),可以對(duì)整個(gè)數(shù)據(jù)表或某一類提供描述統(tǒng)計(jì)報(bào)告。
直接將表面寫在summary函數(shù)中,可以得到整個(gè)數(shù)據(jù)表的描述統(tǒng)計(jì)報(bào)告,這里只包含數(shù)值類型的字段,非數(shù)值類型的字段無(wú)法進(jìn)行描述統(tǒng)計(jì)。
#對(duì)數(shù)據(jù)表進(jìn)行描述統(tǒng)計(jì)
summary(loandata)
輸入數(shù)據(jù)表和字段名稱可以得到特定字段的描述統(tǒng)計(jì)報(bào)告。下面是對(duì)代碼數(shù)據(jù)表中的貸款金額進(jìn)行描述統(tǒng)計(jì)的結(jié)果。描述統(tǒng)計(jì)報(bào)告中給出了貸款金額的最大值,最小值,中位數(shù)和四分位數(shù)等數(shù)據(jù)。
#對(duì)數(shù)據(jù)表進(jìn)行描述統(tǒng)計(jì)
summary(loandata)
關(guān)鍵指標(biāo)計(jì)算
除了描述統(tǒng)計(jì)外,還可以對(duì)數(shù)據(jù)表進(jìn)行計(jì)算。首先是最基本的求和和計(jì)數(shù)。Sum是求和函數(shù),在sum函數(shù)中輸入制定的列就可以獲得求和結(jié)果。下面是對(duì)貸款數(shù)據(jù)表中的貸款金額進(jìn)行求和。
#對(duì)貸款金額字段求和
sum(loandata$loan_amnt)
[1] 233925
Length是R中的計(jì)數(shù)函數(shù),下面代碼對(duì)用戶ID字段進(jìn)行計(jì)數(shù)。數(shù)據(jù)表中共有30個(gè)用戶ID。
#對(duì)貸款金額字段進(jìn)行計(jì)數(shù)
length(loandata$member_id)
[1] 30
Unique是唯一值函數(shù),配合計(jì)數(shù)函數(shù)length可以對(duì)唯一值進(jìn)行計(jì)算。下面的代碼中先對(duì)用戶ID進(jìn)行排重,然后進(jìn)行計(jì)數(shù)。
#對(duì)用戶ID字段取唯一值并進(jìn)行計(jì)數(shù)
length(unique(loandata$member_id))
[1] 30
不同字段間也可以進(jìn)行計(jì)算,并生成新的字段添加在數(shù)據(jù)表中。下面通過(guò)貸款利息和貸款金額字段相除獲得貸款利率字段,保留兩位小數(shù)添加在原貸款數(shù)據(jù)表中。
#貸款利率=貸款利息/貸款金額
loan_int=round((loandata$total_rec_int)/(loandata$loan_amnt),digits = 2)
#將貸款利率列合并到貸款數(shù)據(jù)表中,并查看前5行數(shù)據(jù)
head(cbind(loandata,loan_int))
下面的代碼表示了貸款金額與貸款金額列的匯總值進(jìn)行計(jì)算,獲得每一筆貸款金額在總金額中的占比,并將這個(gè)貸款金額占比數(shù)據(jù)保留兩位小數(shù)后添加到原數(shù)據(jù)表中。
#貸款金額占比=貸款金額/貸款金額匯總
loan_percent=round((loandata$loan_amnt)/sum(loandata$loan_amnt),digits = 2)
#將貸款金額占比合并到貸款數(shù)據(jù)表中
loandata=cbind(loandata,loan_percent)
#查看新生成的貸款數(shù)據(jù)表
head(loandata)
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
解析 DataHub 與 Kafka:數(shù)據(jù)生態(tài)中兩類核心工具的差異與協(xié)同 在數(shù)字化轉(zhuǎn)型加速的今天,企業(yè)對(duì)數(shù)據(jù)的需求已從 “存儲(chǔ)” 轉(zhuǎn)向 “ ...
2025-09-19CDA 數(shù)據(jù)分析師:讓統(tǒng)計(jì)基本概念成為業(yè)務(wù)決策的底層邏輯 統(tǒng)計(jì)基本概念是商業(yè)數(shù)據(jù)分析的 “基礎(chǔ)語(yǔ)言”—— 從描述數(shù)據(jù)分布的 “均 ...
2025-09-19CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫(kù)表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-19SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無(wú)論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫(kù)管理中,“大表” 始終是性能優(yōu)化繞不開(kāi)的話題。 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動(dòng)態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開(kāi)始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫(kù)表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫(kù))處理 Excel 數(shù)據(jù)時(shí),“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場(chǎng)景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對(duì)象的 text 與 content:區(qū)別、場(chǎng)景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請(qǐng)求開(kāi)發(fā)時(shí)(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫(kù)表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請(qǐng)求工具對(duì)比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請(qǐng)求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長(zhǎng)浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問(wèn)題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長(zhǎng)浮點(diǎn)數(shù)據(jù)時(shí)的科學(xué)計(jì)數(shù)法問(wèn)題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營(yíng)問(wèn)題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過(guò)程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營(yíng)銷案例:數(shù)據(jù)驅(qū)動(dòng)下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見(jiàn)頂” 的當(dāng)下,精準(zhǔn)營(yíng)銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動(dòng)決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11