将系数转换为R中的日期/时间
这是我的数据框中包含的信息:将系数转换为R中的日期/时间,r,date,posixct,r-factor,posixlt,R,Date,Posixct,R Factor,Posixlt,这是我的数据框中包含的信息: ## minuteofday: factor w/ 89501 levels "2013-06-01 08:07:00",... ## dDdt: num 7.8564 2.318 ... ## minutes: POSIXlt, format: NA NA NA 我需要将“每日分钟”列转换为日期/时间格式: minuteave$minutes <- as.POSIXlt(as.character(minuteave$minuteofday), format
## minuteofday: factor w/ 89501 levels "2013-06-01 08:07:00",...
## dDdt: num 7.8564 2.318 ...
## minutes: POSIXlt, format: NA NA NA
我需要将“每日分钟”列转换为日期/时间格式:
minuteave$minutes <- as.POSIXlt(as.character(minuteave$minuteofday), format="%m/%d/%Y %H:%M:%S")
minuteave$minutes在解析为日期时间或日期之前,需要插入as.character()
一个因子总是首先作为一个与其级别相对应的数字返回
您可以通过告诉read.csv()
etc以不存储为因子来保存从因子到字符的转换:stringsafactors=FALSE
。您还可以将其设置为全局选项
将其设置为字符后,请确保将格式字符串与数据匹配:
注意我使用的%Y-%m-%d
与您的%m/%d/%Y
相反
2016年1月3日编辑:由于该软件包可以自动转换多种类型,包括factor
,并且不需要格式字符串,因此现在更容易了
正如您所见,我们只需将factor变量输入anytime()
,就可以得到所需的POSIXct类型。试试这个
library(lubridate)
minuteave$minutes <- ymd_hms(minuteave$minutes)
库(lubridate)
分钟数$分钟我想他已经把作为.character插入了。问题是他在格式上有一个错误。谢谢,我在复读时也注意到了这一点,并扩展了我的答案。剩下的问题(您的答案重复)是as.POSIXlt
转换(不提取分钟数)。
R> as.factor("2013-06-01 08:07:00")
[1] 2013-06-01 08:07:00
Levels: 2013-06-01 08:07:00
R>
R> library(anytime)
R> anytime(as.factor("2013-06-01 08:07:00"))
[1] "2013-06-01 08:07:00 CDT"
R>
R> class(anytime(as.factor("2013-06-01 08:07:00")))
[1] "POSIXct" "POSIXt"
R>
library(lubridate)
minuteave$minutes <- ymd_hms(minuteave$minutes)