私は Python と JS に慣れていて、R にはかなり慣れていませんが、データ分析のために R を楽しんでいます。if/elseロジックに基づいて、データフレームに新しいフィールドを作成しようとしていて、標準/手続き型の方法でそれを実行しようとしました:
for (i in 1:nrow(df)) {
if (is.na(df$First_Payment_date[i]) == TRUE) {
df$User_status[i] = "User never paid"
} else if (df$Payment_Date[i] >= df$First_Payment_date[i]) {
df$User_status[i] = "Paying user"
} else if (df$Payment_Date[i] < df$First_Payment_date[i]) {
df$User_status[i] = "Attempt before first payment"
} else {
df$User_status[i] = "Error"
}
}
しかし、それは非常に遅かったです。〜300万行のデータフレームでこれを実行しようとしましたが、時間がかかりすぎました。これを行う「R」の方法に関するヒントはありますか?
df$Payment_Date
およびdf$First_Payment_date
フィールドは日付としてフォーマットされていることに注意してください。