R 如何将因子数据字段转换为时间字段

R 如何将因子数据字段转换为时间字段,r,time,casting,posixct,R,Time,Casting,Posixct,我有一个像贝娄一样的R数据帧 Time value 00:00:00 1 00:00:03 3 00:00:06 2 00:00:09 1 当我检查dataframe中的字段类时,我发现 Time value "factor" "integer" 然后,我尝试使用下面的代码将时间的数据类型转换为时间 df["Time"] <- as.POSIXct(df["Time"],format="%H:%M:%S") df[

我有一个像贝娄一样的R数据帧

Time      value
00:00:00      1
00:00:03      3
00:00:06      2
00:00:09      1
当我检查dataframe中的字段类时,我发现

    Time     value
"factor" "integer"  
然后,我尝试使用下面的代码将时间的数据类型转换为时间

df["Time"] <- as.POSIXct(df["Time"],format="%H:%M:%S")
df[“Time”]这是否有效:

df["Time"] <- as.POSIXct(as.character(df["Time"]),format="%H:%M:%S")

df[“Time”]失败的原因是您调用列
Time
的方式。最简单的方法是使用
$
,即

as.POSIXct(df$Time,format="%H:%M:%S")
但是,如果要使用括号,则需要添加其中的两个括号,以便将其提取为向量,而不是数据帧列,即

as.POSIXct(df[["Time"]],format="%H:%M:%S")
上述两个结果都是:

[1] "2017-11-23 00:00:00 +03" "2017-11-23 00:00:03 +03" "2017-11-23 00:00:06 +03" "2017-11-23 00:00:09 +03"