我有这个数据集
Time Forums_Read
1 00:01 1
2 00:04 1
3 00:05 3
4 00:06 3
5 00:07 3
6 00:08 6
7 00:10 2
8 00:11 2
9 00:12 1
我正在尝试geom_line数据。但是,它必须是POSIXct类型。 列Time的结构是:
Factor w/ 1254 levels "00:01","00:04",..
有没有解决方案?
谢谢!
答案 0 :(得分:3)
日期类POSIXct
需要一个起点。我们可以使用任何一个,因为Time
列中的值是相互比较的。此函数调用将日期转换为正确的格式。
df$Time <- as.POSIXct(df$Time, format="%M:%S")
我使用格式"%M:%S"
来表示分钟和秒。如果您的数据中包含小时和分钟,请使用"%H:%M"
。有关日期格式的详细信息,请参阅?strptime
。
答案 1 :(得分:2)
按照@Pierre Lafortune的评论,
Df$Time2 <- as.POSIXct(
paste0(Sys.Date(), " 00:", as.character(Df$Time)))
##
library(ggplot2)
##
ggplot(
data = Df,
aes(x = Time2, y = Forums_Read)) +
geom_line()
数据:
Df <- read.table(text = " Time Forums_Read
1 00:01 1
2 00:04 1
3 00:05 3
4 00:06 3
5 00:07 3
6 00:08 6
7 00:10 2
8 00:11 2
9 00:12 1",
header = TRUE,
stringsAsFactors = TRUE)