0

データセット内のすべての日付 2006-04-11 を 2006-04-01 に変更したいと考えています。日付変数を係数に変換し、2006-04-11 を 2006-04-01 に再コード化し、変数を class = date に再変換しました。

再コード化は、変数が要因である間 (2006-04-11 のすべての日付が 2006-04-01 に変更されます) 機能しますが、class = date に戻すと、変数は再び 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

または、すべての日付の日の部分を完全に削除したいと考えていますが、その方法がわかりません。

4

1 に答える 1

3

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クラス変数が得られます)

于 2016-11-10T00:25:26.063 に答える