Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.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_Datetime - Fatal编程技术网

R 向数据向量添加日期

R 向数据向量添加日期,r,datetime,R,Datetime,我在R和向数据向量添加日期方面有点麻烦。我猜我搞错东西了 数据:y(即数字[9]) 我使用Sys.Date()+1来获取明天的日期,但是当我用我的数据找到它时,我会得到一些不想要的结果,比如: tomorrow<-Sys.Date()+1 cbind(tomorrow, y) vector y temp 15884 0.5612 cons 15884 0.5065 wind 15884 0.1609 ror 15884 0.2989 so

我在R和向数据向量添加日期方面有点麻烦。我猜我搞错东西了

数据:y(即数字[9])

我使用Sys.Date()+1来获取明天的日期,但是当我用我的数据找到它时,我会得到一些不想要的结果,比如:

tomorrow<-Sys.Date()+1
cbind(tomorrow, y)
vector      y
temp      15884 0.5612
cons      15884 0.5065
wind      15884 0.1609
ror       15884 0.2989
solar     15884 0.7452
nuclear   15884 0.9621
chp       15884 0.2810 
net       15884 0.6998
thermal   15884 0.4519

明天你没有data.frame,你有一个向量。可以将数据附加到向量,如下所示:

y <- rnorm(10)
names(y) <- letters[1:10]
cbind(Sys.Date(), y) # vector, see?

                  y
a 15883 -1.21566678
b 15883  0.98836517
c 15883 -1.01564976
d 15883 -0.59483533
e 15883 -0.40890915
f 15883  1.69711341
g 15883  0.05012548
h 15883  0.42253546
i 15883  1.05420278
j 15883  0.15760482
要强制使用data.frame并cbind数据,请执行以下操作

y <- data.frame(matrix(y, nrow = 1, dimnames = list(1, names(y))))
cbind(Sys.Date(), y)

  Sys.Date()         a          b         c        d         e         f        g        h         i         j
1 2013-06-27 0.3946908 0.09510043 0.9753345 -1.05999 -1.041331 0.5796274 0.125427 1.319828 -1.844391 0.3365856

y你没有data.frame,你有一个向量。可以将数据附加到向量,如下所示:

y <- rnorm(10)
names(y) <- letters[1:10]
cbind(Sys.Date(), y) # vector, see?

                  y
a 15883 -1.21566678
b 15883  0.98836517
c 15883 -1.01564976
d 15883 -0.59483533
e 15883 -0.40890915
f 15883  1.69711341
g 15883  0.05012548
h 15883  0.42253546
i 15883  1.05420278
j 15883  0.15760482
要强制使用data.frame并cbind数据,请执行以下操作

y <- data.frame(matrix(y, nrow = 1, dimnames = list(1, names(y))))
cbind(Sys.Date(), y)

  Sys.Date()         a          b         c        d         e         f        g        h         i         j
1 2013-06-27 0.3946908 0.09510043 0.9753345 -1.05999 -1.041331 0.5796274 0.125427 1.319828 -1.844391 0.3365856

y虽然@Roman Lustrik的解决方案可行,但我认为它更简单:

> y$date <- Sys.Date()
> y
          a        b         c        d          e          f          g          h          i        j
1 -1.104803 1.184856 0.9791311 1.866442 -0.3385167 0.04975147 -0.1821668 -0.7745292 -0.9261035 1.021533
        date
1 2013-06-27
>y$date y
a b c d e f g h i j
1 -1.104803 1.184856 0.9791311 1.866442 -0.3385167 0.04975147 -0.1821668 -0.7745292 -0.9261035 1.021533
日期
1 2013-06-27

尽管@Roman Lustrik的解决方案可行,但我认为它更简单:

> y$date <- Sys.Date()
> y
          a        b         c        d          e          f          g          h          i        j
1 -1.104803 1.184856 0.9791311 1.866442 -0.3385167 0.04975147 -0.1821668 -0.7745292 -0.9261035 1.021533
        date
1 2013-06-27
>y$date y
a b c d e f g h i j
1 -1.104803 1.184856 0.9791311 1.866442 -0.3385167 0.04975147 -0.1821668 -0.7745292 -0.9261035 1.021533
日期
1 2013-06-27

显然
y
不是数据帧。如果使用
cbind
两个向量,则得到一个矩阵,且矩阵中只能有一种数据类型。不使用
cbind
,您可以使用$操作符将其添加到列表中,即
y$date将
dput(head(y))
的输出添加到您的问题中。显然
y
不是数据帧。如果使用
cbind
两个向量,则得到一个矩阵,并且矩阵中只能有一种数据类型。您可以使用$操作符将其添加到列表中,即
y$date将
dput(head(y))
的输出添加到问题中。