如何将因子数据字段转换为时间字段
How to convert factor data field to time field
我有一个如下所示的 R 数据框,
Time value
00:00:00 1
00:00:03 3
00:00:06 2
00:00:09 1
当我检查数据框中的 类 字段时,我发现,
Time value
"factor" "integer"
然后我尝试使用波纹管代码将时间的数据类型转换为时间。
df["Time"] <- as.POSIXct(df["Time"],format="%H:%M:%S")
当我执行上面的代码时,生成了以下错误。
Error in as.POSIXct.default(df["Time"], format = "%H:%M:%S") :
do not know how to convert 'df["Time"]' to class “POSIXct”
我的问题是,为什么会出现这个错误,我该如何克服这个问题?
这个有用吗:
df["Time"] <- as.POSIXct(as.character(df["Time"]),format="%H:%M:%S")
失败的原因是您调用列的方式 Time
。最简单的方法是使用 $
,即
as.POSIXct(df$Time,format="%H:%M:%S")
但是,如果您想使用括号,则需要添加其中的 2 个,以便将其提取为向量而不是数据框列,即
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"
我有一个如下所示的 R 数据框,
Time value
00:00:00 1
00:00:03 3
00:00:06 2
00:00:09 1
当我检查数据框中的 类 字段时,我发现,
Time value
"factor" "integer"
然后我尝试使用波纹管代码将时间的数据类型转换为时间。
df["Time"] <- as.POSIXct(df["Time"],format="%H:%M:%S")
当我执行上面的代码时,生成了以下错误。
Error in as.POSIXct.default(df["Time"], format = "%H:%M:%S") : do not know how to convert 'df["Time"]' to class “POSIXct”
我的问题是,为什么会出现这个错误,我该如何克服这个问题?
这个有用吗:
df["Time"] <- as.POSIXct(as.character(df["Time"]),format="%H:%M:%S")
失败的原因是您调用列的方式 Time
。最简单的方法是使用 $
,即
as.POSIXct(df$Time,format="%H:%M:%S")
但是,如果您想使用括号,则需要添加其中的 2 个,以便将其提取为向量而不是数据框列,即
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"