我的问题是as.Date
函数不会将数据框的date
列中的值转换为Date objects
。
我有data.frame
nmmaps
。这是它的一部分。
city date death temp dewpoint pm10 o3 time season
1 chic 1/1/1987 130 31.5 31.500 27.79119 4.025928 1 winter
2 chic 1/2/1987 150 33.0 29.875 NA 4.579652 2 winter
3 chic 1/3/1987 101 33.0 27.375 33.67382 3.400928 3 winter
4 chic 1/4/1987 135 29.0 28.625 40.79119 3.942595 4 winter
5 chic 1/5/1987 126 32.0 28.875 NA 4.400928 5 winter
6 chic 1/6/1987 130 40.0 35.125 41.79119 5.984261 6 winter
我使用以下命令从Excel文件导入数据:
nmmaps <- read.csv("chicago-nmmaps.csv" , as.is = T)
当我通过as.Date达到转换点时,我进入
nmmaps$date <- as.Date(nmmaps$date)
并获得data.frame
,如下所示。
city date death temp dewpoint pm10 o3 time season
1 chic 0001-01-19 130 31.5 31.500 27.79119 4.025928 1 winter
2 chic 0001-02-19 150 33.0 29.875 NA 4.579652 2 winter
3 chic 0001-03-19 101 33.0 27.375 33.67382 3.400928 3 winter
4 chic 0001-04-19 135 29.0 28.625 40.79119 3.942595 4 winter
5 chic 0001-05-19 126 32.0 28.875 NA 4.400928 5 winter
6 chic 0001-06-19 130 40.0 35.125 41.79119 5.984261 6 winter
为什么这样显示日期?此外,某些日期有NA
字段。我想将这些年展示为1987年,1988年,1989年等。
答案 0 :(得分:3)
如果您通过输入?as.Date在R帮助页面上阅读as.Date,您将看到如果您未指定,则会假定存在默认格式。因此,要为您的数据指定
nmmaps$date <- as.Date(nmmaps$date, format="%m/%d/%Y")