我认为这应该是一个非常容易解决的问题;但是,我在这里找不到;而且,我在其他地方找到的说明没有奏效。我要做的就是使用一个简单的粘贴功能。
在我的数据框中,我有一个格式为“yymmdd”的日期变量:
> str(g.2015.1990$DATE)
int [1:60464] 150410 150411 150412 150420 150421 150422 150423 150424 150425 150426 ...
R 将其解释为整数,但我需要将其格式化为日期。当我进入 2000-2009 十年时,我的问题出现了。R 丢弃前导 0。因此,2001-2009 的格式为“ymmdd”;2000 年 10 月到 12 月的格式为“mmdd”;并且,2000 年 1 月到 9 月的格式为“mdd”。
我想我可以将向量分成四个部分(无论如何我必须逐年重新绑定它来组装它)并在前面粘贴一个、一个、两个或三个 0,视情况而定,以创建一个一致的,然后我可以将其转换为日期的 6 位字符串。
我还没有花时间把这个变量分解成前面提到的部分,因为我还没有找到一个成功的解决我的问题的方法;但是,这是我对变量的全部测试:
datex = paste("0", g.2015.1990$DATE, sep = "")
datex = paste(0, g.2015.1990$DATE, sep = "")
datex = paste("0", as.character(g.2015.1990$DATE), sep = "")
datex = paste(0, as.character(g.2015.1990$DATE), sep = "")
每个都返回相同的错误:
Error in View : 'names' attribute [1254] must be the same length as the vector [1]
请告诉我我做错了什么!我发誓这应该很容易解决。