早上好,
我正在尝试从字符转换为POSIXct,但是当我这样做时,我损失了数据中的小时和分钟。
hourlyData(数据框)
Login Expo EquityUSD Period UnrealizedProfitUSD
1 252957 0.00 7.187185 2014-02-03 00:00:00.000 0.00000
2 252957 0.00 7.187772 2014-02-03 01:00:00.000 0.00000
3 252957 0.00 7.188198 2014-02-03 02:00:00.000 0.00000
4 252957 0.00 7.187825 2014-02-03 03:00:00.000 0.00000
5 252957 0.00 7.187079 2014-02-03 04:00:00.000 0.00000
6 252957 0.00 7.187079 2014-02-03 05:00:00.000 0.00000
7 252957 0.00 7.188731 2014-02-03 06:00:00.000 0.00000
8 252957 0.00 7.186279 2014-02-03 07:00:00.000 0.00000
9 252957 0.00 7.187185 2014-02-03 08:00:00.000 0.00000
当我输入class(hourlyData $ Period)时,我得到
Character
。但是,当我尝试将此列转换为
hourlyData$Period = as.POSIXct(hourlyData$Period)
时,得到以下输出:hourlyData
Login Expo EquityUSD Period UnrealizedProfitUSD
1 252957 0.00 7.187185 2014-02-03 0.00000
2 252957 0.00 7.187772 2014-02-03 0.00000
3 252957 0.00 7.188198 2014-02-03 0.00000
4 252957 0.00 7.187825 2014-02-03 0.00000
5 252957 0.00 7.187079 2014-02-03 0.00000
6 252957 0.00 7.187079 2014-02-03 0.00000
7 252957 0.00 7.188731 2014-02-03 0.00000
8 252957 0.00 7.186279 2014-02-03 0.00000
9 252957 0.00 7.187185 2014-02-03 0.00000
从“期间”列中删除了小时和分钟。有谁知道为什么会这样,或者如何防止呢?
谢谢
麦克风
最佳答案
我会使用strptime
:
char_data = c('2014-02-03 00:00:00.000', '2014-02-03 01:00:00.000', '2014-02-03 02:00:00.000')
strptime(char_data, '%Y-%m-%d %H:%M:%S')
[1] "2014-02-03 00:00:00 CET" "2014-02-03 01:00:00 CET"
[3] "2014-02-03 02:00:00 CET"
关于r - R:从角色转换为POSIXct会浪费数小时和数分钟,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27143775/