簡體   English   中英

R語言,將data.frame轉換為時間序列

[英]R-language, convert data.frame to time series

我有一個data.frame結構:

> str(MSK)
'data.frame':   14685 obs. of  3 variables:
 $ code  : Factor w/ 423 levels "100 975","101 479",..: 281 281 281 281 281 281 281 281 281 281 ...
 $ period: Date, format: "2010-01-01" "2010-02-01" "2010-03-01" "2010-04-01" ...
 $ sales : num  515 195 414 410 551 18 373 74 62 313 ...

我需要將此數據轉換為矩陣或其他data.frame,其中行:“句點”,列:“代碼”。 某些“代碼”時間序列尚未滿載。 並且缺失值必須等於NA。

例如,我有這樣的數據:

code data sales
303  1day 200
303  2day 300
303  3day 400
404  2day 250
404  3day 350
606  2day 167

我需要得到:

     303 404 606
1day 200  NA  NA
2day 300 250 167
3day 400 350  NA

直接進行操作並不難,但是我想知道一種正確的轉換方法。

對不起,我的語言,我的母語是俄語,我在學校是個貧窮的學生。

感謝您的關注。 =)

使用dcastreshape2 http://cran.r-project.org/web/packages/reshape2/reshape2.pdf

 my_df <- data.frame(
                        period=c("1day","2day","3day","2day"),
                        code=c(303,303,304,305),
                        sale=c(100,200,300,400))
 library(reshape2)
 my_df2 <- dcast(my_df,period~code,value.var="sale")

輸出:

   > my_df
      period code sale
    1   1day  303  100
    2   2day  303  200
    3   3day  304  300
    4   2day  305  400

    > my_df2
      period 303 304 305
    1   1day 100  NA  NA
    2   2day 200  NA 400
    3   3day  NA 300  NA

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM