从.txt导入时间序列

时间:2017-09-12 21:12:07

标签: r import time-series

如何使用txt等时间序列将数据集从R导入mm:ss.ms?这是一个例子:

第一列是多个发光测量的时间序列,所有其他列都是发光值

00:00.138   1143.85 1332.34 1284.34 1541.83 1072.5  1246.18 1210.49 976.64  1410.89 1422.71 1455.1  1385.26 958.78  1168.19 1020.04 1028.59 1198.61 1152.17 1322.07 1270.1  1433.54 856.42  1182.04 1264.99 1160.18 1254.08 1167.76 1280.5  928.55  1303.5  1321.49 \n
00:02.128   1120.18 1293.45 1255.17 1500.33 1035.3  1219.7  1182.03 938.74  1369.64 1375.9  1418.06 1347.51 923.98  1140.92 984.36  996.8   1161.72 1123.83 1281.82 1240.04 1400.63 829.52  1139.81 1223.5  1134.38 1226.37 1145.82 1249.65 890.34  1279.68 1291.73 \n
00:04.129   1127.1  1309.34 1252.12 1522.06 1045.65 1223.24 1185.66 944.61  1377.33 1392.4  1416.99 1345.23 929.08  1144.36 995.22  998.6   1174.05 1129.54 1281.82 1246.95 1405.14 840.18  1150.95 1235.29 1139.11 1222.44 1153.29 1257.81 904.89  1288.29 1305.09 \n
00:06.129   1135.38 1325.54 1273.34 1530.9  1055.82 1222.98 1184.99 955.38  1397.07 1403.03 1430.81 1363.3  940.23  1161.62 1003.57 1016.42 1185.46 1147.48 1312.82 1266.7  1415.09 840.5   1157.53 1249.42 1145.2  1239.23 1142.57 1257.44 910.87  1288.15 1316.47 \n
00:08.129   1131.93 1321.07 1261.69 1526.63 1053.65 1233.64 1202.59 959.01  1400.66 1421.88 1453.22 1370.15 946.34  1163.81 1005.93 1017.11 1193.76 1141.68 1312.78 1259.71 1417.27 842.04  1169.47 1248.45 1128.15 1234.49 1170.91 1277.85 909.26  1291.65 1303.67

我正在使用以下代码导入数据:

db<-read.table("reading_1.txt",sep="\t",skipNul = TRUE,skip=6,dec=".")

问题是R将第一列作为因素处理,我需要将其设置为时间。

str(db)
 'data.frame':  5 obs. of  33 variables:
 $ V1 : Factor w/ 5 levels "00:00.092","00:02.069",..: 1 2 3 4 5
 $ V2 : num  1444 1457 1443 1443 1437
 $ V3 : num  1367 1373 1362 1361 1362
 $ V4 : num  1381 1390 1374 1380 1377
 $ V5 : num  1417 1418 1410 1406 1403
 ...

非常感谢。

1 个答案:

答案 0 :(得分:2)

这是否有效:

library(data.table)
library(lubridate)

db <- fread("reading_1.txt")
db$V1 <- ms(db$V1)

class(db$V1)
[1] "Period"
attr(,"package")
[1] "lubridate"

使用ms中的lubridate将字符转换为句点。