目录
1.读取线圈检测器数据样例:Detector_sample.csv, 输出总记录数
4.统计冗余记录数,如有需剔除. (参考函数:duplicated())
5.计算流量、速度、占有率的平均值、方差、25%、50%和75%分位数
7.分别提取日期时间列的小时、分钟、秒,新增为DAY、MINUTE、SECOND列.
一、数据框操作
1.读取线圈检测器数据样例:Detector_sample.csv, 输出总记录数
代码:
data<-read.csv("F:\\data\\Detector_sample_update.csv")
View(data)
输出结果(篇幅所限,仅截图首尾,中间略):
2.统计流量一列的缺失个数.
代码:
table(is.na(data[3]))
输出结果:
即缺失个数为3
3.对包含缺失值的行进行剔除,输出剔除后记录数.
代码:
na_omit_data<-na.omit(data)
print(nrow(na_omit_data))
输出结果:
即剔除后记录数为4323
4.统计冗余记录数,如有需剔除. (参考函数:duplicated())
代码:
table(duplicated(na_omit_data))
dupicated_data<-na_omit_data[!duplicated(na_omit_data),]
输出结果:
即冗余记录数为6条
5.计算流量、速度、占有率的平均值、方差、25%、50%和75%分位数
代码:
summary(dupicated_data)
var(dupicated_data[3])
var(dupicated_data[4])
var(dupicated_data[5])
输出结果:
即:
流量平均值为7.51,方差为15.77452,25%分位数为4.00,50%分位数为9.00,75%分位数为11.00。
速度平均值为51.23,方差为348.3788,25%分位数为38.00,50%分位数为48.00,75%分位数为66.00。
占有率平均值为15.79,方差为124.3895,25%分位数为5.00,50%分位数为16.00,75%分位数为25.00。
二、日期时间处理
2.1 处理
6.对数据框按照时间列进行排序.
代码:
order_data<-dupicated_data[order(dupicated_data$FDT_TIME),]
View(order_data)
输出结果:
7.分别提取日期时间列的小时、分钟、秒,新增为DAY、MINUTE、SECOND列.
代码:
library(lubridate)
datatime<-as.POSIXlt(order_data$FDT_TIME)
order_data$HOUR <- c(hour(datatime))
order_data$MINUTE <- c(minute(datatime))
order_data$SECOND <- c(second(datatime))
2.2 绘图
8.绘制流量、速度、占有率的直方图
代码:
输出结果:
9.绘制流量-速度散点图.
代码
输出结果: