我有一个与贷款相关的数据框架,这些贷款已经被批准,正在等待审核,或者已经被拒绝。数据框架中的属性字段之一是贷款申请的发源地。我想要创建一个新的矩阵,其中包含行中的所有城镇名称以及已批准贷款的数量、待审核或在列中被拒绝的贷款数量。以下是说明性数据:
Town<-c("Andover","Cheshire", "Andover", "Burlington", "Albany", "Cheshire")
Status<-c("Approved","Declined", "Pending", "Pending", "Approved", "Declined")
ApplicationYear<-c(2013,2015,2014,2014,2015,2013)
Data<-data.frame(cbind(Town,Status,ApplicationYear))
Town Status ApplicationYear
1 Andover Approved 2013
2 Cheshire Declined 2015
3 Andover Pending 2014
4 Burlington Pending 2014
5 Albany Approved 2015
6 Cheshire Declined 2013我能够安排贷款的数量,按地位和城镇使用表“为”每种状态类型,然后cbind。
Approved<-table(Data[Data$Status=="Approved",]$Town)
Declined<-table(Data[Data$Status=="Declined",]$Town)
Pending<-table(Data[Data$Status=="Pending",]$Town)
cbind(Approved,Declined,Pending)
Approved Declined Pending
Albany 1 0 0
Andover 1 0 1
Burlington 0 0 1
Cheshire 0 2 0但是,我希望找到一种更优雅和更短的方法来使用for或其他命令获得相同的结果。
发布于 2016-01-27 21:10:14
只对整个列使用table函数:
table(Data$Town, Data$Status)我认为这是最简单的方法。
https://stackoverflow.com/questions/35047810
复制相似问题