0

R に少し問題があり、データのベクトルに日付を追加しています。私は間違った方法でオブジェクトをいじっていると思いますか?

データ: y (数値[9])

y <-data.frame
y
temp     cons     wind      ror      solar   nuclear   chp       net    thermal  
0.5612   0.5065   0.1609   0.2989   0.7452   0.9621   0.2810   0.6998   0.4519 

今日の日付を含む列を最初に追加したいので、次のようになります。

date           temp     cons     wind      ror      solar   nuclear   chp       net    thermal  
28-06-2013    0.5612   0.5065   0.1609   0.2989   0.7452   0.9621   0.2810   0.6998   0.4519 

明日の日付を取得するために Sys.Date()+1 を使用していますが、データと cbind すると、次のような望ましくない結果が得られます。

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

日付をこの数値形式で表示したくないのですが、データが突然行列変数になる理由がよくわかりません。

4

2 に答える 2

2

@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
于 2013-06-27T07:57:56.830 に答える
2

あなたは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

ベクトルへのデータの追加は、 を介して行われcます。

c(Sys.Date(), y)

                        a            b            c            d            e            f            g            h            i 
"2013-06-27" "1969-12-30" "1970-01-01" "1969-12-30" "1969-12-31" "1969-12-31" "1970-01-02" "1970-01-01" "1970-01-01" "1970-01-02" 
           j 
"1970-01-01" 

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
于 2013-06-27T07:38:15.603 に答える