我正在尝试将列从字符转换为日期。
列中的当前格式为“ YearMmonth”,如“ 1990M01”一样。 这是一种非常奇怪的格式,所以我想知道当我使用as.Date代码时R如何读取它。基本上是“年月月号”。我知道如何使用其余代码,我只需要知道如何将其转换为R。
我尝试使用
df <- as.Date(df, "%YM%m", "%Y/%m")
df <- as.Date(paste0("01-", df), format = "%Y/%m/%d")
还有很多其他的主要问题是翻译字符列。
答案 0 :(得分:2)
问题中的代码有几个问题:
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
表示结果是数据帧,但结果是df
类对象,而不是数据帧。这里有一些可行的方法。
使用Date
转换为as.yearmon
对象,或使用yearmon
转换为Date对象。 as.Date(as.yearmon(...))
对象直接表示年和月,没有日,因此可能更可取。
yearmon
用减号替换M也可以:
library(zoo)
as.yearmon("1990M01", "%YM%m")
## [1] "Jan 1990"
as.Date(as.yearmon("1990M01", "%YM%m"))
## [1] "1990-01-01"
不涉及任何包裹的一种方式是附加一天:
as.yearmon(chartr("M", "-", "1990M01"))
## [1] "Jan 1990"
或将M更改为减号,然后加上减号和1,在这种情况下,它已经是默认格式,不需要格式字符串。
as.Date(paste("1990M01", 1), "%YM%m %d")
## [1] "1990-01-01"