Given: 具有三个字符列的数据框 .
Date Time Zone
1950-04-18 01:30 CST
1950-04-18 01:45 CST
1951-02-20 16:00 CST
1951-06-08 09:00 CST
1951-11-15 15:00 CST
1951-11-15 20:00 CST
Required:
1.结合日期,时间和区域
2.从字符转换为日期
What I have tried:
datetime <- paste(Date, Time)
strptime(datetime[1], "%Y-%m-%d %H:%M", tz=Zone[1])
这成功地解析了第一个元素,但是,我想使用lapply或sapply中的一个循环函数来转换整个数据 .
如何使用循环函数来解析整个向量?
NOTE: 忘了前面提到,数据包含CST以外的各种缩写时区
2 回答
由于使用了不同的格式,时区可能是一个棘手的事情 . 要获取系统上已用时区的列表,请运行
OlsonNames()
作为列表 .您的示例中使用的
CST
时区并不总是受支持,因此在尝试将其用作时区时可能会收到以下警告消息:我构建了一个示例数据集(见下文),以展示如何使用时区信息更新
datetime
. 以下for
循环:会给:
如上所述,您的数据集可能包含系统无法识别的时区缩写 . 例如,您可以在this list的帮助下替换它们 .
使用数据:
我认为这应该有效: