2016-11-09 13 views
0

です。データセットのすべての日付2006-04-11を2006-04-01に変更したいと思います。日付変数を2006-04-11を2006-04-01に記録した因子に変換し、変数をclass = dateに再変換しました。レコーダー固有の日付はR

可変因子であるリコード作品(全て2006年4月11日の日付が2006年4月1日に変更されている)が、クラス=日付に戻って変換した後、変数が再び2006-04-として表示11。

変換の日付変数を考慮し、それが働いたか確認します。

data$review_date<-as.factor(data$review_date) 
class(data$review_date) 

私が欲しい日付(2006-04-01)とデータを表示するための可変係数。

recode_factor(data$review_date, '2006-04-11' = "2006-04-01") 
data$review_date 

変数を要因から戻し、クラスをチェックし、データを表示します。

data$review_date <- as_date(data$review_date,"%y/%m/%d") 
class(review_date) 
str(data) 
data$review_date 

代わりに、私は完全にすべての日付の日の部分をドロップすることをいとわないだろうが、私はそれを行う方法を考え出したていません。

+0

完全日を落とす程度 - 年/月の日付を格納 'zoo'パッケージから' yearmon'を見ますオブジェクト。 – thelatemail

答えて

2

recode_factor()dataの値を更新しません。

data$review_date <- recode_factor(data$review_date, '2006-04-11' = "2006-04-01") 

...元の値を上書きすることができます。

全体のプロセスはあまりにも単純で置き換える操作することができます。例:最後の行については

data <- data.frame(review_date = as.Date(c("2006-04-11","2001-01-01"))) 
data$review_date[data$review_date == "2006-04-11"] <- "2006-04-01" 

(はい、これは適切なDateクラス変数を与える)

+0

データの追加$ review < - 私の問題を解決しました、ありがとう! – nusbaume