2016-09-11 19 views
-4

私は誕生日をFacebookから1997年6月23日の形式で取り込みました。この誕生日を私の年齢に変えたいと思います。年月日から年月を数えてください

これは私がこれまで持っているコードです:私はこのエラーを取得する最後の行の後

as.POSIXct(facebook$birthday, tz = "", format = "%m/%d/%Y", origin="1970-01-01") 
#[1] "1993-06-23 CEST" 
as.Date(facebook$birthday, format = "%m/%d/%Y") 
#[1] "1993-06-23" 

:それはこれを返す最初の2行の後

install.packages("eeptools") 
library(eeptools) 

as.POSIXct(facebook$birthday, tz = "", format = "%m/%d/%Y", origin="1970-01-01") 
as.Date(facebook$birthday, format = "%m/%d/%Y") 

facebook$age <- floor(age_calc(facebook$birthday, units = "years")) 

Error in age_calc(facebook$birthday, units = "years") : Both dob and enddate must be Date class objects

誰かが私を助けることができたら大いに感謝します:)

解決済み! 編集:私はちょうどこの最後の行にas.Dateを挿入するのを忘れ:

facebook$age <- floor(age_calc(as.Date(facebook$birthday, units = "years")) 
+1

'フォーマット=「%M /%d個/ %Y "'(スラッシュ、大文字Y) – jakub

+1

また、 'as.Date'を使ってDateオブジェクトに変換してください。 – jakub

+0

ああ、この '?strftime'を読んでください - かなり役に立ちます;-) – jakub

答えて

1

私が失敗したかわからないんだけど。これは私が何をすべきかであり、それは私の作品:

install.packages("eeptools") 
library(eeptools) 

date = "06/23/1993" 
date = as.POSIXct(date, tz = "", format = "%m/%d/%Y", origin="1970-01-01") 

floor(age_calc(as.Date(date), units = "years")) 
#[1] 23 

または(G.グロタンディークさんのコメントによる)POSIXct変換なし

あなたが必要
floor(age_calc(as.Date(date, format = "%m/%d/%Y"), units = "years")) 
+0

ありがとうございました...問題は私がas.Dataを新しいオブジェクトに割り当てなかったことです。初心者の間違いでしょうか?D – Floris

+0

as.POSIXct(facebook $ birthday、tz = ""、format = "%m /%d /%Y "、origin =" 1970-01-01 ") facebook $ birthday < - as.Date(facebook $ birthday、format ="%m /%d /%Y ") クラス(facebook $ – Floris

+0

あなたはさらにそれを扱うためには、常に結果を変数(同じものか新しいもの)に割り当てる必要があります(例えば、誕生日) facebook $ age < - floor(age_calc(facebook $ birthday、units = "years"それ以外の場合はコンソール上に表示されますが、持続しません。 – jakub

関連する問題