从 R 中的 3 个 csv 文件绘制温度和时间(m/d/y h:m:s AM/PM)
Plotting temperature and time (m/d/y h:m:s AM/PM) from 3 csv files in R
我是 R 的初学者,需要做一些让我头疼的事情。我有 3 个 csv 文件,每个文件有 2 列:1 列用于时间(在 "month/day/year hour:minute:second am/pm" 的列中),1 列用于温度。 3 个文件的测量时间不同。
我遇到但似乎没有克服的第一个问题是,在打开 csv 文件时,R 无法将 "Time" 列识别为时间(它归因于 "character" 的 class) .
文件如下所示(文件名为 Noble2):
Time Temp
1 08/20/14 02:05:02 PM 17.034
2 08/20/14 02:35:02 PM 16.749
3 08/20/14 03:05:02 PM 16.963
4 08/20/14 03:35:02 PM 16.820
5 08/20/14 04:05:02 PM 16.963
6 08/20/14 04:35:02 PM 17.153
7 08/20/14 05:05:02 PM 16.249
8 08/20/14 05:35:02 PM 15.652
9 08/20/14 06:05:02 PM 14.649
10 08/20/14 06:35:02 PM 13.906
11 08/20/14 07:05:02 PM 13.209
12 08/20/14 07:35:02 PM 12.316
13 08/20/14 08:05:02 PM 12.268
14 08/20/14 08:35:02 PM 12.243
15 08/20/14 09:05:02 PM 12.219
16 08/20/14 09:35:02 PM 12.171
17 08/20/14 10:05:02 PM 12.147
18 08/20/14 10:35:02 PM 12.122
19 08/20/14 11:05:02 PM 12.074
20 08/20/14 11:35:02 PM 12.025
21 08/21/14 12:05:02 AM 11.977
22 08/21/14 12:35:02 AM 11.929
23 08/21/14 01:05:02 AM 11.856
24 08/21/14 01:35:02 AM 11.807
25 08/21/14 02:05:02 AM 11.759
这些是命令:
class(Noble2$Time)
[1] "character"
csv 文件在这里:https://www.dropbox.com/s/9lljwadmnp9uvot/Noble2.csv?dl=0
非常感谢您的宝贵时间!
x1<-read.csv("Noble2.csv",header=TRUE, stringsAsFactors=FALSE) # `stringsAsFactors` converts time variable to character before conversion.
str(x1)
'data.frame': 7633 obs. of 2 variables:
$ Time: chr "08/20/14 02:05:02 PM" "08/20/14 02:35:02 PM" "08/20/14 03:05:02 PM" "08/20/14 03:35:02 PM" ...
$ Temp: num 17 16.7 17 16.8 17 ..
kk<-strptime(x1$Time, "%m/%d/%y %I:%M:%S %p")
> str(kk)
POSIXlt[1:7633], format: "2014-08-20 14:05:02" "2014-08-20 14:35:02" "2014-08-20 15:05:02" "2014-08-20 15:35:02" ...
我是 R 的初学者,需要做一些让我头疼的事情。我有 3 个 csv 文件,每个文件有 2 列:1 列用于时间(在 "month/day/year hour:minute:second am/pm" 的列中),1 列用于温度。 3 个文件的测量时间不同。 我遇到但似乎没有克服的第一个问题是,在打开 csv 文件时,R 无法将 "Time" 列识别为时间(它归因于 "character" 的 class) .
文件如下所示(文件名为 Noble2):
Time Temp
1 08/20/14 02:05:02 PM 17.034
2 08/20/14 02:35:02 PM 16.749
3 08/20/14 03:05:02 PM 16.963
4 08/20/14 03:35:02 PM 16.820
5 08/20/14 04:05:02 PM 16.963
6 08/20/14 04:35:02 PM 17.153
7 08/20/14 05:05:02 PM 16.249
8 08/20/14 05:35:02 PM 15.652
9 08/20/14 06:05:02 PM 14.649
10 08/20/14 06:35:02 PM 13.906
11 08/20/14 07:05:02 PM 13.209
12 08/20/14 07:35:02 PM 12.316
13 08/20/14 08:05:02 PM 12.268
14 08/20/14 08:35:02 PM 12.243
15 08/20/14 09:05:02 PM 12.219
16 08/20/14 09:35:02 PM 12.171
17 08/20/14 10:05:02 PM 12.147
18 08/20/14 10:35:02 PM 12.122
19 08/20/14 11:05:02 PM 12.074
20 08/20/14 11:35:02 PM 12.025
21 08/21/14 12:05:02 AM 11.977
22 08/21/14 12:35:02 AM 11.929
23 08/21/14 01:05:02 AM 11.856
24 08/21/14 01:35:02 AM 11.807
25 08/21/14 02:05:02 AM 11.759
这些是命令:
class(Noble2$Time) [1] "character"
csv 文件在这里:https://www.dropbox.com/s/9lljwadmnp9uvot/Noble2.csv?dl=0
非常感谢您的宝贵时间!
x1<-read.csv("Noble2.csv",header=TRUE, stringsAsFactors=FALSE) # `stringsAsFactors` converts time variable to character before conversion.
str(x1)
'data.frame': 7633 obs. of 2 variables:
$ Time: chr "08/20/14 02:05:02 PM" "08/20/14 02:35:02 PM" "08/20/14 03:05:02 PM" "08/20/14 03:35:02 PM" ...
$ Temp: num 17 16.7 17 16.8 17 ..
kk<-strptime(x1$Time, "%m/%d/%y %I:%M:%S %p")
> str(kk)
POSIXlt[1:7633], format: "2014-08-20 14:05:02" "2014-08-20 14:35:02" "2014-08-20 15:05:02" "2014-08-20 15:35:02" ...