Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.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 拆分数字yyyymmdd列_R_Date - Fatal编程技术网

R 拆分数字yyyymmdd列

R 拆分数字yyyymmdd列,r,date,R,Date,我有一个数据框,其中包含一个日期列,我引用它作为NM_DATA$DATE。这是一个yyyymmdd形式的数字,我知道,这上面有100个线程 我尝试了我能找到的每一个解决方案,但它们对我不起作用。即将重新加载RStudio NM_DATA$DATES <- as.Date(NM_DATA$DATES, "%Y%m%d") 进入: 非常感谢您的帮助 使用具有正确语法的格式选项来处理8位数字: as.Date("20130408",format="%Y%m%d") 然后,

我有一个数据框,其中包含一个日期列,我引用它作为NM_DATA$DATE。这是一个yyyymmdd形式的数字,我知道,这上面有100个线程

我尝试了我能找到的每一个解决方案,但它们对我不起作用。即将重新加载RStudio

NM_DATA$DATES <- as.Date(NM_DATA$DATES, "%Y%m%d")
进入:


非常感谢您的帮助

使用具有正确语法的格式选项来处理8位数字:

as.Date("20130408",format="%Y%m%d")
然后,使用
format()
命令提取所需内容,请参阅

使用具有正确语法的格式选项来处理8位数字:

as.Date("20130408",format="%Y%m%d")
然后,使用
format()
命令提取所需内容,请参阅

也许您可以根据您的要求尝试substr

YEAR<-as.numeric(substr(as.numeric(NM_DATA$DATE),1,4))
MONTH<-as.numeric(substr(as.numeric(NM_DATA$DATE),5,6))

YEAR也许您可以根据您的要求尝试substr

YEAR<-as.numeric(substr(as.numeric(NM_DATA$DATE),1,4))
MONTH<-as.numeric(substr(as.numeric(NM_DATA$DATE),5,6))

YEAR为了得到一个完整的答案,我对@Alex的答案进行了充实

as.Date
函数可用于将字符串(或其向量)转换为
Date
格式。
strtime
?strtime
)的帮助页面提供了有关
日期
对象可以使用的可能格式的一些有价值的信息

在本例中,您希望将
NM_数据$DATE
向量转换为日期。格式yyyymmdd由
%Y%m%d
表示,因此,如果向量是字符,我们可以将其转换为:

NM_DATA$DATE <- as.Date(NM_DATA$DATE, format='%Y%m%d')
现在,向量是一个
日期
对象,我们可以用各种方式对其进行格式化(在
?strtime
中概述)。要提取年、月和日数,请执行以下操作:

NM_DATA$YEAR <- format(NM_DATA$DATE, '%Y')
NM_DATA$MONTH <- format(NM_DATA$DATE, '%m')
NM_DATA$DAY <- format(NM_DATA$DATE, '%d')

为了得到一个完整的答案,我对@Alex的答案进行了充实

as.Date
函数可用于将字符串(或其向量)转换为
Date
格式。
strtime
?strtime
)的帮助页面提供了有关
日期
对象可以使用的可能格式的一些有价值的信息

在本例中,您希望将
NM_数据$DATE
向量转换为日期。格式yyyymmdd由
%Y%m%d
表示,因此,如果向量是字符,我们可以将其转换为:

NM_DATA$DATE <- as.Date(NM_DATA$DATE, format='%Y%m%d')
现在,向量是一个
日期
对象,我们可以用各种方式对其进行格式化(在
?strtime
中概述)。要提取年、月和日数,请执行以下操作:

NM_DATA$YEAR <- format(NM_DATA$DATE, '%Y')
NM_DATA$MONTH <- format(NM_DATA$DATE, '%m')
NM_DATA$DAY <- format(NM_DATA$DATE, '%d')


我应该澄清,我将平均每年的数据,但希望能够参考每月的模式在未来。。。。这就是为什么我现在想拆分,但将月份保留在这个数据集
库(lubridqte)中;年份(ymd(NM_数据$DATE))
?您能更具体地说明错误吗?NM_DATA$日期在您的搜索时间内,您遇到过还是?:)是的,是的。。。。这两种方法都无法奏效……我应该澄清,我将平均每年的数据,但希望能够在未来参考每月的模式。。。。这就是为什么我现在想拆分,但将月份保留在这个数据集
库(lubridqte)中;年份(ymd(NM_数据$DATE))
?您能更具体地说明错误吗?NM_DATA$日期在您的搜索时间内,您遇到过还是?:)是的,是的。。。。两者都无法工作…NM_数据$DATE@user1680636中意外的字符串常量:更具体地说,必须提供try
NM_数据$DATE原点。。。trusted origin=“1970-01-01”返回错误意外符号您的代码中缺少等号作为注释发布在此处
format='%Y%m%d'
。如果数据是字符向量,则此方法是可行的,并按说明工作,例如:
在NM_data$DATE@user1680636中测试意外的字符串常量:更具体地说,请尝试
NM_data$DATE origin必须提供。。。trusted origin=“1970-01-01”返回错误意外符号您的代码中缺少等号作为注释发布在此处<代码>格式=“%Y%m%d”
。如果数据是字符向量,则此方法是可行的,并按说明工作,例如:
测试此方法是否有效。。。非常感谢你。。。仍然对日期问题感到困惑。@Yln,我更新了我的问题以便更清楚,但我可能仍然必须走这条路线。。。再次感谢。这可能是您想要的:substr(as.Date(NM_DATA$Date,format=“%Y%m%d”),1,7)或者,我猜是
read.fwf(file=textConnection(as.character(NM_DATA$Date)),widths=c(4,2,2),col.names=c(“年”、“月”、“日”),colClasses=“字符”)
。这将起作用。。。非常感谢你。。。仍然对日期问题感到困惑。@Yln,我更新了我的问题以便更清楚,但我可能仍然必须走这条路线。。。再次感谢。这可能是您想要的:substr(as.Date(NM_DATA$Date,format=“%Y%m%d”),1,7)或者,我猜
read.fwf(file=textConnection(as.character(NM_DATA$Date)),widths=c(4,2,2),col.names=c(“年”、“月”、“日”),colClasses=“字符”)
…我尝试了NM_DATA$DATE,那么您的
DATE
列肯定有一些特点。。。并非所有元素都是
yyyymmdd
。是否有些元素只有一年,而不是完整的日期?这也可以解释您的错误
不知道如何将'NM_DATA$DATES'转换为类“Date”
,并将问题从“如何将yyyymmdd转换为日期对象”完全更改为“如何将混合日期格式的向量转换为日期对象”。后者的答案是,首先需要将它们转换为字符并执行字符串操作,使它们保持一致。它的行长为145.208。。。。我90%确定它们都是yyyymmdd格式的。。。我要睡觉了。我明天再试一次。再次感谢您的帮助尝试
unique(nchar(NM\u数据$DATES))
NM\u数据$DATES[哪个(nchar(NM\u数据$DATES)!=8)]
我尝试了NM\u数据$DATE,那么您的
日期列肯定有一些特殊之处。。。并非所有元素都是
yyyymmdd
。是否有些元素只有一年,而不是完整的日期?这也可以解释您的错误
不知道如何将“NM_数据$DATES”转换为类“Date”
,以及