r - 将日期格式化为格式 "%Y-%m"的问题

标签 r

这个问题在这里已经有了答案:





Converting year and month ("yyyy-mm" format) to a date?

(7 个回答)


6年前关闭。




我希望 R 将一列识别为日期。它在导入过程中被视为因素,但是,当我尝试使用 'as.Date' 和 'format' 进行格式化时,我只会得到 NA。我不确定我哪里出错了。

> d = read.table("ByMonth.Year_54428.txt", header=T, sep=",")  
> str(d)  
'data.frame':   607 obs. of  2 variables:
 $ V1  : Factor w/ 607 levels "1950-12","1951-01",..: 1 2 3 4 5 6 7 8 9 10 ...
 $ Rain: int  100 56000 29293 37740 19649 41436 58067 51082 49629 62680 ...
> 
> 
> Date.form1 <- as.Date(d$V1, "%Y-%m")
> str(Date.form1)
 Date[1:607], format: NA NA NA NA NA NA NA NA NA NA NA NA NA NA ...
> 
> Date.form2 = as.Date(as.character(d$V1), format="%Y-%m")
> str(Date.form2)
 Date[1:607], format: NA NA NA NA NA NA NA NA NA NA NA NA NA NA ...

最佳答案

一年和一个月不构成日期。你也需要一天。

d <- data.frame(V1=c("1950-12","1951-01"))
as.Date(paste(d$V1,1,sep="-"),"%Y-%m-%d")
# [1] "1950-12-01" "1951-01-01"

您也可以使用 yearmon动物园包中的类。
library(zoo)
as.yearmon(d$V1)
# [1] "Dec 1950" "Jan 1951"

关于r - 将日期格式化为格式 "%Y-%m"的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16402064/

相关文章:

r - 忽略未知的美学 : text in ggplot (using numbers or letters as points)

r - 组合多个神经网络模型

R igraph 将平行边转换为权重属性

r - 在计算的 stat_smooth 线上添加标签 ggplot geom_dl

r - 尝试使用optim()进行约束优化时出现错误

r - 异步 Shiny 编程 - 设置一个基本示例

r - 如何在数据集上使用 RWeka 包?

r - `range` 和 `pips` 参数如何在shinyWidgets `noUiSliderInput()` 中工作?

r - 从 R 数据框列中提取键值对

css - 可写的 selectInput 选择器