Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.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
如何确定as.Date,R中origin的正确参数_R_Arguments - Fatal编程技术网

如何确定as.Date,R中origin的正确参数

如何确定as.Date,R中origin的正确参数,r,arguments,R,Arguments,我在R中有一个数据集,其中包含格式为yyyy/mm/dd的日期列。我正试图使用as.Date将这些日期转换为R中的日期对象。但是,我似乎找不到origin输入as.Date的正确参数。下面的代码是我一直在尝试的一个示例。我使用的是Excel中的CSV文件,因此根据我查看过的其他网站,我使用了origin=“1899/12/30” > as.Date(2001/04/26, origin="1899/12/30") [1] "1900-01-18" 但是,这不起作用,因为输入日期200

我在R中有一个数据集,其中包含格式为yyyy/mm/dd的日期列。我正试图使用as.Date将这些日期转换为R中的日期对象。但是,我似乎找不到origin输入as.Date的正确参数。下面的代码是我一直在尝试的一个示例。我使用的是Excel中的CSV文件,因此根据我查看过的其他网站,我使用了origin=“1899/12/30”

> as.Date(2001/04/26, origin="1899/12/30")

 [1] "1900-01-18"

但是,这不起作用,因为输入日期2001/04/26返回为“1900-01-18“。我需要将日期转换为日期对象,然后才能将日期转换为朱利安日期。

您可以使用数字值或字符值将is
转换为.date
。当您在R中键入
2001/04/26
时,即进行除法运算,得到19.24(一个数值)。数值需要一个原点,而您提供的数字是该原点的偏移量。所以你离你的出生地还有19天,即“1900-01-18”。像2001年4月26日这样的日期是

as.Date(40659, origin="1899-12-30")
# [1] "2011-04-26"
如果Excel中的日期“看起来像”日期,则它们很可能是字符值(或因子)。要将字符值转换为带有
as.Date()
的日期,请指定格式。这里

as.Date("2001/04/26", format="%Y/%m/%d")
# [1] "2001-04-26"
有关特殊
%
变量的详细信息,请参见
?strtime
。现在,如果您使用read.table或其他工具将数据读入data.frame,那么您的变量可能是一个因素。如果是这种情况,则需要使用“转换为字符”

as.Date(as.character(mydf$datecol), format="%Y/%m/%d")

我想你要找的是
格式
而不是
来源
,试试
作为.Date(“2001/04/26”,“Y/%m/%d”)