【发布时间】:2010-11-01 09:30:07
【问题描述】:
我有以下来自数据框的数据
Name,JoiningDate,AmtPaid
Joe,12/31/09,1000
Amy,10/28/09,100
John,05/06/10,200
加入日期是一个因素(当我sapply 时)。如何将其转换为日期,然后按 JoiningDate 排序?
【问题讨论】:
标签: r
我有以下来自数据框的数据
Name,JoiningDate,AmtPaid
Joe,12/31/09,1000
Amy,10/28/09,100
John,05/06/10,200
加入日期是一个因素(当我sapply 时)。如何将其转换为日期,然后按 JoiningDate 排序?
【问题讨论】:
标签: r
应该这样做(其中 df 是您的数据框)
df$JoiningDate <- as.Date(df$JoiningDate , format = "%m/%d/%y")
df[order(df$JoiningDate ),]
【讨论】:
mode(as.Date(df$JoiningDate, "%m/%d/%Y")) 怎么可能返回 numeric ?
as.Date 理解的cran.r-project.org/web/packages/anytime/anytime.pdf 不同格式
NAs。
试试这个包,效果很好,并且是为日期/时间制作的......
library(lubridate)
Portfolio$Date2 <- mdy(Portfolio.all$Date2)
【讨论】:
data.table 包的IDate 类和功能类似于lubridate 或zoo 包。你可以这样做:
dt = data.table(
Name = c('Joe', 'Amy', 'John'),
JoiningDate = c('12/31/09', '10/28/09', '05/06/10'),
AmtPaid = c(1000, 100, 200)
)
require(data.table)
dt[ , JoiningDate := as.IDate(JoiningDate, '%m/%d/%y') ]
【讨论】: