2017-03-14 13 views
0

を供給する必要があります。しかし、それは時々私にエラーメッセージが表示できますエラー:起源は、私は、データセットをきれいにするために、次のコードを持っている

data1 <- data1 %>% 
    mutate(YEAR = year(DATE), 
     MONTH = month(DATE), 
     DAY=day(DATE), 
     HOUR=hour(TIME), 
     MINUTE = minute(TIME), 
     RETURN= ((PRICE-lag(PRICE))/lag(PRICE)) 
) %>% 
    filter(HOUR >= 9, (HOUR <= 16 & MINUTE <=61)) %>% 
    group_by(MINUTE, HOUR, DAY, MONTH, YEAR) %>% 
    summarize(AV.PRICE = mean(PRICE, na.rm=TRUE), 
      SUM.SIZE=sum(SIZE, na.rm=TRUE), 
      RV=sum(RET^2)) %>% 
    arrange(YEAR, MONTH, DAY, HOUR, MINUTE) %>% 
    mutate(DATETIME = as.POSIXct(
    paste(YEAR,"/",MONTH,"/", DAY, " ", HOUR,":", MINUTE,":00",sep=""), 
    format="%Y/%m/%d %H:%M:%S", origin = "1970-01-01") 
) 

Error: 'origin' must be supplied

奇妙である何がエラーが、私はセッションでこのコードを実行されますが、その後の実行に最初に表示するときに表示されないということです。セッションを再開すると、問題は一度消えて、後で実行されます。したがって、私は常にそれを働かせるために再起動する必要があります。

私は疑問にチェック:How to solve: "Error in as.POSIXct.numeric(X[[2L]], ...) : 'origin' must be supplied"それは時間の整数から変換されるので、それがあるかもしれないことを示唆しました。しかし、データのglimpseは、DATEが01​​クラスはない整数であることを示しています。

安全のために:私は、エラーの提案を踏襲し、日付を扱う機能のすべてに起源=「1970-01-01」引数を追加しました:

data1 <- data1 %>% 
    mutate(YEAR = year(DATE, origin = "1970-01-01"), 
     MONTH = month(DATE, origin = "1970-01-01"), 
     DAY=day(DATE, origin = "1970-01-01"), 
     HOUR=hour(TIME, origin = "1970-01-01"), 
     MINUTE = minute(TIME, origin = "1970-01-01"), 
     RET= ((PRICE-lag(PRICE))/lag(PRICE)) 
) %>% 
    filter(HOUR >= 9, (HOUR <= 16 & MINUTE <=61)) %>% 
    group_by(MINUTE,HOUR,DAY,MONTH,YEAR) %>% 
    summarize(AV.PRICE = mean(PRICE, na.rm=TRUE), 
      SUM.SIZE=sum(SIZE, na.rm=TRUE), 
      RV=sum(RET^2) 
) %>% 
    arrange(YEAR, MONTH, DAY, HOUR, MINUTE) %>% 
    mutate(DATETIME = as.POSIXct(
    paste(YEAR,"/",MONTH,"/", DAY, " ", HOUR,":", MINUTE,":00",sep=""), 
    format="%Y/%m/%d %H:%M:%S", origin = "1970-01-01") 
) 

、それはError: unused argument (origin = "1970-01-01")

を返します。

それが助け場合は、ここで私のデータセットを垣間見るです:

Observations: 146,016,609 
Variables: 4 
$ DATE <date> 2008-01-02, 2008-01-02, 2008-01-02, 2008-01-02, 2008-01-02, 2008-01-02, 2008-01-02, ... 
$ TIME <S4: Period> 9H 0M 4S, 9H 0M 4S, 9H 0M 4S, 9H 0M 4S, 9H 0M 4S, 9H 0M 4S, 9H 0M 4S, 9H 0M 4S... 
$ PRICE <dbl> 146.86, 146.86, 146.86, 146.86, 146.86, 146.86, 146.86, 146.86, 146.86, 146.86, 146.8... 
$ SIZE <int> 1000, 1000, 1000, 500, 2400, 1000, 1000, 1000, 2500, 1000, 1000, 400, 1000, 1000, 100... 

私は基本パッケージの機能を使用して答え、または最もlubridate/dplyrで探しています。ありがとう!

答えて

1

それともいつでもパッケージからanydate()を使用します。

R> anydate(20170314L) # integer 
[1] "2017-03-14" 
R> anydate(20170314) # numeric 
[1] "2017-03-14" 
R> anydate("20170314") # character 
[1] "2017-03-14" 
R> anydate(as.factor("20170314")) 
[1] "2017-03-14" 
R> 

とはるかに、最も(SANE)日付(とanytime()のための日時)形式---と(主に冗長)の起源についての要件を推測含みます。

編集:データを指定すると、複雑になります。このお試しください:

R> df <- data.frame(DATE=rep(as.Date("2008-01-02"),4), TIME=rep(period(c(9,0,4), c("hour", "minute", "second")), 4)) 
R> df 
     DATE  TIME 
1 2008-01-02 9H 0M 4S 
2 2008-01-02 9H 0M 4S 
3 2008-01-02 9H 0M 4S 
4 2008-01-02 9H 0M 4S 
R> 

最小data.frameオブジェクトをジャスト
R> df$DATE + df$TIME 
[1] "2008-01-02 09:00:04 UTC" "2008-01-02 09:00:04 UTC" "2008-01-02 09:00:04 UTC" "2008-01-02 09:00:04 UTC" 
R> class(df$DATE + df$TIME) 
[1] "POSIXlt" "POSIXt" 
R> as.POSIXct(df$DATE + df$TIME) 
[1] "2008-01-02 09:00:04 UTC" "2008-01-02 09:00:04 UTC" "2008-01-02 09:00:04 UTC" "2008-01-02 09:00:04 UTC" 
R> 

日付と時刻を追加し、あなたの答えがあります。

+0

ねえ、私はあなたのパッケージを試した、私はもう元のエラーを得ることはありませんが、私はDATETIMEのためのNAを取得します。コードの改訂された質問をご覧ください。私はあなたのパッケージに精通していないので、私は何か基本的なものを見ていない場合は申し訳ありません。 – shoestringfries

+0

あなたはいつでも 'からNAを取得する()'や 'anydate()'あなたの入力は、すべての利用可能なフォーマットで解析できないとき。カスタムフォーマットを追加することができます。パッケージヘルプを参照してください。 –

0

私は同じエラー「エラー: 『を得たlubridateパッケージ使用中の原点は』供給されなければならない」 - HMS()関数を。 cuplritは、コードがhmsパッケージの関数hms()を参照しているということでした。だから、私はそれをlubridate :: hms()に参照すると、エラーは消えました。

air_reserve < - %mutate(Reserve.time = lubridate :: hms(Reserve.time)、Visit.time = lubridate :: hms(Visit.time)、Hours = lubridate :: hour(Visit。時間))。

+0

[コードブロックの使い方]を読むためにこれを読んでください(http://stackoverflow.com/editing-help) –

関連する問題