r - 将 R 日期值从字符类转换为日期类
问题描述
我的问题是我正在导入一个 CSV 文件,并试图让 R 将日期列识别为日期并将它们格式化。
到目前为止,我已经实现用 R 中的整数日期值替换下面看到的格式“#yyyy-mm-dd#”。
但是当我在转换前后检查班级时,它仍然说“字符”。
我需要将该列识别为日期类,以便可以将其用于预测。但
DemandCSV <- read_csv("C:/Users/pth/Desktop/Care/Demand.csv")
nrow <- nrow(DemandCSV)
for(i in 1:nrow){
DemandCSV[i,1] <-as.Date(ymd(substr(DemandCSV[i,1], 2, 11)))
}
DemandCSV[,1] <- format(DemandCSV[,1], "%Y-%m-%d")
想出了一个不优雅的解决方案(结果证明这不是一个解决方案)
DemandCSV <- read_csv("C:/Users/pth/Desktop/Care/Demand.csv")
nrow <- nrow(DemandCSV)
for(i in 1:nrow){
DemandCSV[i,1] <-as.Date(ymd(substr(DemandCSV[i,1], 2, 11)))
DemandCSV[i,1] <- format(as.Date(as.numeric(DemandCSV[i,1],origin = "01-01-1970")), "%Y-%m-%d")}
DemandCSV %>% pad %>% fill_by_value(0)
解决方案
在格式字符串中包含“#”是否可以解决您的问题?
data <- c("#2019-09-23#", "#2019-09-24#", "#2019-09-25#")
a <- as.Date(data,format="#%Y-%m-%d#")
或者
DemandCSV <- data.frame(date=
c("#2019-09-23#", "#2019-09-24#", "#2019-09-25#"))
mutate_at(DemandCSV,"date",as.Date,format="#%Y-%m-%d#")
推荐阅读
- ajax - 如何使用ajax在控制器中调用symfony函数?
- python - 从实时非 youtube 视频流中提取图像帧
- php - PHP - Laravel,MySQL,Select Exists 查询结果变量及其访问权限
- digital-signature - 使用 openssl_pkcs7_sign 对 PDF 进行 PHP 签名
- python - 使用python的强迫振动二阶微分方程
- linux - 在 CentOS 中安装 Perl v5.32
- python - Counter Discord 机器人报告“IndentationError”
- python - 从存储在不同文件夹中的所有 csv 文件创建唯一的数据框
- python - 如何获取或更新表单?
- api - 如何使用不记名令牌授权获取请求?