r - 变量 X 的类型(列表)无效,其中 X 是日期类

标签 r datetime plot

我有一个如下所示的 csv 文件(请注意,它使用 ; 作为列分隔符,使用 , 作为小数点标记):

Values;Date.Col
911;20/12/2013 04:05:01 p.m.
124,82;23/12/2013 09:43:03 a.m.
287;23/12/2013 09:44:15 a.m.
37,3;23/12/2013 09:45:26 a.m.
448,4;23/12/2013 09:46:50 a.m.
432,5;23/12/2013 09:48:31 a.m.

无论如何,我对随时间绘制 Values 的行为很感兴趣,所以我执行了这些命令(文件名是“tmp2.csv”):

df <- read.table("tmp2.csv", header = T, dec = ',', sep = ';')
df$Date.Col <- strptime(df$Date.Col, "%d/%m/%Y %I:%M:%S %p")
str(df)
plot(Values ~ Date.Col, df, type = 'l')

一切似乎都很顺利,直到最后一个命令出现以下错误消息:

Error in (function (formula, data = NULL, subset = NULL, na.action = na.fail,  : 
  invalid type (list) for variable 'Date.Col'

过去我根据日期类的向量绘制数字变量,所以我假设 R 可以处理这种情况,但问题可能出在小时、分钟和秒的存在上。

在列表和 SO 中寻找类似的错误没有产生任何有用的见解,有谁知道这里的问题到底是什么,或者我能做些什么来解决它?

提前致谢。

最佳答案

按照使用 as.POSIXct 的建议,我最终得到了这个 代码(请注意,我在 plot 命令中删除了第一行 df,在 为了更好地说明情节如何正常工作):

df <- read.table("tmp2.csv", header = T, dec = ',', sep = ';')
df$Date.Col <- as.POSIXct(df$Date.Col, format = "%d/%m/%Y %I:%M:%S %p")
plot(Values ~ Date.Col, df[-1,], type = 'l')

谢谢大家。

关于r - 变量 X 的类型(列表)无效,其中 X 是日期类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27606380/

相关文章:

r - 使用 capture.output 捕获警告

c# - 在 C# 中解析 DateTimeOffset 字符串

datetime - 在将 json 反序列化为对象时,使用 jackson 将 asp.net/MS 专有 json Dateformat 转换为 java8 LocalDateTime

python - 从 Dbf 到 numpy 数组

r - R 中的平滑曲线图

python - 如何在 Matplotlib 中找到该数据的拟合趋势线?

r - 为什么:=比`:=`()快?

html - [ Shiny ] : Add link to another tabPanel in another tabPanel

matlab - MATLAB 中的基本函数

r - 在 R 中使用顺序(colSums())