【发布时间】:2014-05-27 01:19:22
【问题描述】:
我很难将日期从 excel(从 csv 读取)转换为 R。非常感谢您的帮助。
这是我正在做的事情:
df$date = as.Date(df$excel.date, format = "%d/%m/%Y")
但是,有些日期会被转换,而有些则不会。这是输出:
head(df$date)
[1] NA NA NA "0006-01-05" NA NA
从csv文件导入的前5个条目如下:
7/28/05
7/28/05
12/16/05
5/1/06
4/21/05
这是输出:
head(df$excel.date)
[1] 7/28/05 7/28/05 12/16/05 5/1/06 4/21/05 1/25/07
1079 Levels: 1/1/00 1/1/02 1/1/97 1/10/96 1/10/99 1/11/04 1/11/94 1/11/96 1/11/97 1/11/98 ... 9/9/99
str(df)
.
.
$ excel.date : Factor w/ 1079 levels "1/1/00","1/1/02",..: 869 869 288 618 561 48 710 1022 172 241 ...
【问题讨论】:
-
首先你应该制作
df$date = as.character(df$excel.date),然后再制作df$date = as.Date(df$excel.date,format = "%m/%d/%y" -
德克萨斯州。做过某事;结果仍然在这里: df = read.csv("df.csv", as.is=TRUE) > df$date = as.character(df$excel.date) > head(df$date) [1] " 7/28/05" "7/28/05" "12/16/05" "5/1/06" "4/21/05" "1/25/07" > df$date = as.Date( df$date, format = "%d/%m/%y") > head(df$date) [1] NA NA NA "2006-01-05" NA NA
-
它不应该是 "%d/%m/%y" 而是 "%m/%d/%y" - 7/28/05 是 7 月 28 日。