Strptime我的桌子给了我NA

时间:2017-10-17 22:52:58

标签: r linux

df <- read.csv("file.csv", header = F, sep = '\t')

这是我从我的csv文件中读取的表格

                           V1 
1 Tue Feb 11 12:19:39  0 2014
2 Tue Feb 11 12:19:56  0 2014
3 Tue Feb 11 12:20:04  0 2014
4 Tue Feb 11 12:21:06  0 2014
5 Tue Feb 11 12:21:15  0 2014
6 Tue Feb 11 12:21:30  0 2014

我使用此代码来强调表格

df1 = strptime(df, "%a %b %d %H:%M:%S %z %Y")

我的结果是:

               V1 
NA NA NA NA NA NA 

我不明白我做错了什么。谢谢:))

1 个答案:

答案 0 :(得分:0)

(我假设您有data.framedf1),其中一列名为V1,这是一个字符串向量。(您的第一个例子不清楚在这。)

不幸的是,strptime对于&#34;偏移&#34;的理解有点严格。具体来说,它希望以小时/分钟为单位进行偏移,因此0(我假设该偏移量)应为-0000+0000。您可以使用以下内容自动执行此操作:

gsub(" 0 ", " -0000 ", df1$V1)

从那里,您的格式字符串应该可以正常工作:

strptime(gsub(" 0 ", " -0000 ", df1$V1),
         format = "%a %b %d %H:%M:%S %z %Y")[1]
# [1] "2014-02-11 04:19:39"