数据提取是数据分析日常工作中遇到最多的需求,本篇文章介绍如何通过R按特定的维度或条件对数据进行提取,完成数据提取需求。
读取并创建数据表
首先第一步是读取数据,并创建名称为loandata的数据表。后面我们将从这个表中进行数据提取。
1
2
|
#读取并创建数据表
loandata=
data.frame
(
read.csv
(
'loan_data.csv'
,header = 1))
|
将数据表中的用户ID列设置为索引列,下面是具体的代码和结果。
1
2
3
4
|
#设置用户ID为索引
rownames
(loandata)=loandata$member_id
#查看数据表
head
(loandata)
|
提取行信息
按行提取信息简单的方法是输入开始和结束的行号,下面的代码提取了第一行和第二行的信息。
1
2
|
#提取数据表前两行信息
loandata[1:2,]
|
也可以直接输入索引行的名称来提取特定行的信息,下面的代码提取了用户ID为1296599的贷款信息。
1
2
|
#提取特定用户ID信息
loandata[
'1296599'
,]
|
同样的方式可以同时准确的提取多个特定用户ID的贷款信息。
1
2
|
#提取多个特定用户ID信息
loandata
|
提取列信息
按列提取信息的方式与行类似,输入开始的列号和结束的列号。下面的代码中提取了第一列和第二列的信息。
1
2
|
#提取前两列信息
loandata[1:2]
|
也可以直接输入列名称提取特定列的信息,例如下面的代码提取了数据表中term列的信息。
1
2
|
#提取term列信息
loandata[
'term'
]
|
同样的方法,可以同时提取多个列的信息,下面的代码中提取了term和grade列的信息。
1
2
|
#提取term列和grade列信息
head
(loandata)
|
提取特定行列信息
把提取行信息的方法与提取列信息的方法汇总,可以提取特定行列的信息。下面的代码中提取了第三行,第5列和第6列的信息。
1
2
|
#提取第3行5,6列信息
loandata[3:3,5:6]
|
也可以直接输入索引行中用户ID和列名称,进行信息提取。
1
2
|
#提取特定用户ID的贷款金额
loandata[
'1296599'
,
'loan_amnt'
]
|
提取最大值的行信息
除了提取行和列的信息外,还可以按条件进行提取,例如提取数据表中贷款金额最大值的行。下面的代码中使用which.max函数用来确定贷款金额最大值的行号。
1
2
|
#提取贷款金额最大值的信息
loandata[
which.max
(loandata$loan_amnt),]
|
提取最小值的行信息
同样的方法也可以用which.min函数来提取贷款金额最小值所在行的信息。
1
2
|
#提取贷款金额最小值的信息
loandata[
which.min
(loandata$loan_amnt),]
|
—【所有文章及图片版权归 蓝鲸(王彦平)所有。欢迎转载,但请注明转自“蓝鲸网站分析博客”。】—
Read more: http://bluewhale.cc/2016-11-03/use-r-for-data-extraction.html#ixzz5G1ZOCZZw