as的java.r_使用R中的as.POSIXct格式化日期和时间

在R中,用户尝试使用as.POSIXct和strptime函数将数据框中的日期时间列转换为POSIXct格式,但未能成功。原始数据以'21/05/2013 22:56:07'的格式存储,使用'%d-%m-%Y %H:%M:%S'的格式化字符串进行转换。尽管尝试了转换,但输出仍然保持原始格式,未按预期转换为UTC时间。
摘要由CSDN通过智能技术生成

我正在尝试使用R中的as.POSIXct从我的文件“f845”格式化一列日期和时间(日期时间) . 文件845在格式化之前有21行要跳过,如下面第一行代码所示,它也有两列和100000行 .

当我尝试使用下面第二行代码格式化datetime列时,我最终得到输出,如第3行下面的数据所示 .

为什么我的代码没有正确格式化日期和时间?

> dat=read.table(f845,sep="\t",skip=21,col.names=c("datetime","light"))

> dat$datetime=as.POSIXct(strptime(dat$datetime,format="%d-%m-%Y %H:%M:%S", tz="UTC"))

> dat[1:10,]

datetime time

1 4.542

2 7.949

3 5.678

4 7.949

5 7.949

6 6.813

7 2.271

8 2.271

9 2.271

10 2.271

以下是格式化之前的数据:

> dat=read.table(f845,sep="\t",skip=21,col.names=c("datetime","light"))

> dat[1:10,]

datetime light

1 21/05/2013 22:56:07 4.542

2 21/05/2013 23:01:07 7.949

3 21/05/2013 23:06:07 5.678

4 21/05/2013 23:11:07 7.949

5 21/05/2013 23:16:07 7.949

6 21/05/2013 23:21:07 6.813

7 21/05/2013 23:26:07 2.271

8 21/05/2013 23:31:07 2.271

9 21/05/2013 23:36:07 2.271

10 21/05/2013 23:41:07 2.271

编辑: dput(droplevels (dput(dat[1:10,])) 的输出如下所示,仍有大量日期,所以我只显示最后几行:

> dput(droplevels(dat[1:10,]))

structure(list(datetime = structure(1:10, .Label = c("21/05/2013 22:56:07",

"21/05/2013 23:01:07", "21/05/2013 23:06:07", "21/05/2013 23:11:07",

"21/05/2013 23:16:07", "21/05/2013 23:21:07", "21/05/2013 23:26:07",

"21/05/2013 23:31:07", "21/05/2013 23:36:07", "21/05/2013 23:41:07"

), class = "factor"), light = c(4.542, 7.949, 5.678, 7.949, 7.949,

6.813, 2.271, 2.271, 2.271, 2.271)), .Names = c("datetime", "light"

), row.names = c(NA, 10L), class = "data.frame")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值