首先我们进行数据的读取和预处理
install.packages("dplyr")
library("dplyr")#读取dplyr包用以排序
###对数据读取
data=read.table("E:\\201501一卡通进出站.txt",stringsAsFactors=F)
##对数据列进行命名
colnames(data)=c("逻辑卡号",
"交易日期"
,
"交易时间",
"票种",
"交易代码",
"交易车站",
"上次交易车站")
###对数据进行预处理
for( ii in 20150101:20150131){#每天的数据
data1=data[which(data[,2]==ii),]#筛选出日期为20150101这天的数据
data2=data1[,c(2,3,6,7)]#筛选出"交易日期" ,"交易时间",
"交易车站","上次交易车站"的数据
data2#查看数据
data2=data2[order(data2$交易车站),]
line1=data2[substr(data2$交易车站,1,1)=="1",]#1号线
line2=data2[substr(data2$交易车站,1,1)=="2",]#2号线
###筛选出车站为243
bus=unique(data2[,3])####################每个站的数据
for(busi in 1:length(bus)){
index=which(data2[,3]==bus[busi])#筛选出车站为243的数据行号
data3=data2[index,]#获取交易车站为243的数据
###data3=data2[order(data2$交易车站),]#如果不筛选车站,直接按交易车站递增排序
data4=arrange(data3,交易日期,交易时间)#对时间排序,先按年份递增排序,然后按照时间递增排序
###按每十分钟时间分割
for (time in 6:21){
for(i in 1:6){
index=intersect(which(data4[,2]>time*10000+(i-1)*1000),which(data4[,2]<=time*10000+1000*i))
datat=data4[index,]
outnum=length(which(datat[,4]!=0))
innum=length(which(datat[,4]==0))
if(i!=6)cat(file=pa