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
使用apply将多个字符向量转换为日期,返回R中的数字_R_Date_Apply - Fatal编程技术网

使用apply将多个字符向量转换为日期,返回R中的数字

使用apply将多个字符向量转换为日期,返回R中的数字,r,date,apply,R,Date,Apply,我有一个df,其中有4个日期列作为字符向量: print(df) Date1 Date2 Date3 Date4 1 2016-12-05 <NA> 2016-11-24 2017-12-05 2 2007-10-15 2009-09-18 2007-10-15 2017-10-15 3 2005-07-22 2009-06-20 2005-07-22 2017-07-22 4 2008-01-03 2017-07-25 200

我有一个df,其中有4个日期列作为字符向量:

print(df)
       Date1      Date2      Date3      Date4
1 2016-12-05       <NA> 2016-11-24 2017-12-05
2 2007-10-15 2009-09-18 2007-10-15 2017-10-15
3 2005-07-22 2009-06-20 2005-07-22 2017-07-22
4 2008-01-03 2017-07-25 2008-01-03 2018-01-03
我已经用
lappy
而不是
apply
解决了这个问题,但是我想知道
apply
中发生了什么,以返回日期作为数字

OP想知道在apply中发生了什么,并将日期作为一个数字返回

帮助页面
?应用
显示

在所有情况下,在设置维度之前,
as.vector
将结果强制为基本向量类型之一

帮助页面
?as.vector
显示

如果结果是原子模式,则所有属性都将从结果中删除,但对于列表结果,通常不会删除

如前所述,日期对象具有
class
属性。删除
class
属性只会留下自1970-01-01以来的普通天数

以下是用于演示的代码片段:

x <- as.Date("2016-12-05")
x
#> [1] "2016-12-05"
attributes(x)
#> $class
#> [1] "Date"
y <- as.vector(x)
y
#> [1] 17140
attributes(y)
#> NULL
x[1]“2016-12-05”
属性(x)
#>美元级
#>[1]“日期”
y[1]17140
属性(y)
#>空的

自1970-01-01以来,未分类日期以天数表示。希望这对@Rubén有所帮助。
print(df)
     Date1 Date2 Date3 Date4
[1,] 17140    NA 17129 17505
[2,] 13801 14505 13801 17454
[3,] 12986 14415 12986 17369
[4,] 13881 17372 13881 17534
x <- as.Date("2016-12-05")
x
#> [1] "2016-12-05"
attributes(x)
#> $class
#> [1] "Date"
y <- as.vector(x)
y
#> [1] 17140
attributes(y)
#> NULL