楼主: carrywhl
927 0

[问答] R时间统计问题,详细分析与问题求助 [推广有奖]

  • 0关注
  • 0粉丝

高中生

95%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0.2818
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
181 点
帖子
17
精华
0
在线时间
36 小时
注册时间
2016-8-18
最后登录
2021-8-28

楼主
carrywhl 发表于 2017-3-22 15:50:35 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
  

2015/1/1 0:35

  
  

2015/1/1 0:35

  
  

2015/1/1 0:35

  
  

2015/1/1 0:36

  
  

2015/1/1 0:36

  
  

2015/1/1 0:36

  
  

2015/1/1 0:36

  
  

2015/1/1 0:36

  
  

2015/1/1 0:34

  
  

2015/1/1 0:34

  
  

2015/1/1 0:34

  
  

2015/1/1 0:34

  
数据集样本如上,比如2015/1/1 0:35为2015年1月1日 0时35分,我现在想要得到的是>=34分钟,<=35分钟的数据有多少个。(数据量也比较大,我提取了500组数据进行试验)

(参考http://stackoverflow.com/questions/11853524/comparing-time-portion-of-posixct-in-r)
我自己做的过程如下:
trip_date <- read.csv("D:\\data\\date111.csv",header=T)       #导入数据
t <- as.POSIXct(trip_date $pickup_datetime,'%Y/%m/%d %H:%M',tz='UTC')   #将数据转为as.POSIXct格式,pickup_datetime为字段名

主要想用参考网址中的这个计算方法,但是如下处理会返回全部数据
t_34 <- subset(t,
  (as.numeric(format(t, "%H")) >= 0 & as.numeric(format(t, "%M")) >= 34) |
  (as.numeric(format(t, "%H")) < 1 & as.numeric(format(t, "%M")) <= 35))

我以为是对象的类属性的问题,因为参考网址中的数据结构为data.frame,而此时的t为POSIXt,因此我对其进行转化:
t <- as.data.frame(t)

再次使用参考的方法,仍然返回全部值:
t_34 <- subset(t,
  (as.numeric(format(t, "%H")) >= 0 & as.numeric(format(t, "%M")) >= 34) |
  (as.numeric(format(t, "%H")) < 1 & as.numeric(format(t, "%M")) <= 35))

我也尝试也网址中的另外一种方法,也遇到了各种问题,所以想请教下统计这类时间有没有比较好的方法或者上面的方法哪里出了问题??


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:统计问题 数据集 统计

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 15:12