使用r進行資料提取
資料提取是資料分析日常工作中遇到最多的需求,本篇文章介紹如何通過r按特定的次元或條件對資料進行提取,完成資料提取需求。
讀取并建立資料表
首先第一步是讀取資料,并建立名稱為loandata的資料表。後面我們将從這個表中進行資料提取。
#讀取并建立資料表 loandata=data.frame(read.csv('loan_data.csv',header = 1))
将資料表中的使用者id列設定為索引列,下面是具體的代碼和結果。
#設定使用者id為索引 rownames(loandata)=loandata$member_id #檢視資料表 head(loandata)
提取行資訊
按行提取資訊簡單的方法是輸入開始和結束的行号,下面的代碼提取了第一行和第二行的資訊。
#提取資料表前兩行資訊 loandata[1:2,]
也可以直接輸入索引行的名稱來提取特定行的資訊,下面的代碼提取了使用者id為1296599的貸款資訊。
#提取特定使用者id資訊 loandata['1296599',]
同樣的方式可以同時準确的提取多個特定使用者id的貸款資訊。
#提取多個特定使用者id資訊 loandata
提取列資訊
按列提取資訊的方式與行類似,輸入開始的列号和結束的列号。下面的代碼中提取了第一列和第二列的資訊。
#提取前兩列資訊 loandata[1:2]
也可以直接輸入列名稱提取特定列的資訊,例如下面的代碼提取了資料表中term列的資訊。
#提取term列資訊 loandata['term']
同樣的方法,可以同時提取多個列的資訊,下面的代碼中提取了term和grade列的資訊。
#提取term列和grade列資訊 head(loandata)
提取特定行列資訊
把提取行資訊的方法與提取列資訊的方法彙總,可以提取特定行列的資訊。下面的代碼中提取了第三行,第5列和第6列的資訊。
#提取第3行5,6列資訊 loandata[3:3,5:6]
也可以直接輸入索引行中使用者id和列名稱,進行資訊提取。
#提取特定使用者id的貸款金額 loandata['1296599','loan_amnt']
提取最大值的行資訊
除了提取行和列的資訊外,還可以按條件進行提取,例如提取資料表中貸款金額最大值的行。下面的代碼中使用which.max函數用來确定貸款金額最大值的行号。
#提取貸款金額最大值的資訊 loandata[which.max(loandata$loan_amnt),]
提取最小值的行資訊
同樣的方法也可以用which.min函數來提取貸款金額最小值所在行的資訊。
#提取貸款金額最小值的資訊 loandata[which.min(loandata$loan_amnt),]