Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将系数转换为R中的日期/时间_R_Date_Posixct_R Factor_Posixlt - Fatal编程技术网

将系数转换为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)