r - 将单圈时间从因子转换为 R 中带小数的时间

标签 r

我有一组以分钟和秒为单位的 F1 圈速。秒有十分之一、一百、几千秒,我需要保持这种方式,因为我试图绘制这些数据,但 R 将其分类为一个因素。我尝试将其转换为数字(as.numeric),但这似乎不起作用。 这是一个数据样本:

DriverId      Q1       Q2       Q3
    1       1:05.585 1:04.772  1:04.293
   20       1:04.655 1:07.354  1:04.123
如果格式不正确,

ggplot不允许我正确绘制数据图表。 我尝试使用 chronPOSIXlt 软件包但无济于事,因为它们似乎不支持 mm:ss.000 格式 请帮忙!

最佳答案

您可以使用strptime,其中%OS 表示秒及其小数部分。示例:

x<-as.factor(c("1:04.293",'1:04.772','1:04.890'))
options(digits.secs=3)
x<- strptime(x, "%M:%OS")

输出:

"2018-01-13 00:01:04.293 CET" "2018-01-13 00:01:04.772 CET" "2018-01-13 00:01:04.890 CET"

仅返回分钟和秒(作为字符),例如绘图中的刻度标签:

format(x,"%M:%OS3")
[1] "01:04.293" "01:04.772" "01:04.890"

这是一个绘图示例:

plot(x,c(1,2,3),xaxt='n')
at <- axTicks(1)
axis(1, at=at, labels=format(as.POSIXct(at,origin='1970-1-1'),"%M:%OS3"), las=1)

输出:

enter image description here

希望这有帮助!

关于r - 将单圈时间从因子转换为 R 中带小数的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48239549/

相关文章:

r - 我如何在 R 中合并两个数据帧但保留所有缺失值。

r - 创建标准化多个变量并创建新列的 r 函数

r - Shiny 的无功输入和 "Go"按钮

r - 向 data.frame 添加一列并使用 R 用特定字符串填充该列

r - 使用Extrafont程序包检索Windows字体后,Fonts表仍然为空

r - 如何在 R 中使用 $ 选择列名中有空格的列?

r - POSIXlt(as.POSIXlt(x), ...) 上的警告

R RJDBC java.lang.OutOfMemoryError

r - 将运算符分配给 R 变量

r - 在 R 中,传单不反射(reflect)纬度或经度?