誰かが、新しい列の値を設定するための引数として1つの列を取る関数を適用する次のdplyr mutate呼び出しがなぜ機能しないのか説明できますか?関数を正しい値で呼び出すようには見えません。新しいseason
列は、それ自身の行の値ではなくmon
列の最初の値に従って設定されます。dplyr関数の呼び出しで不正な値を返す
# Function to return season (winter, summer, or transition) given numerical month
getSeason <- function(m) {
if(m >= 11 || m <= 3)
return(as.factor("Winter"))
if(m >= 5 && m <= 9)
return(as.factor("Summer"))
return(as.factor("Trans"))
}
getSeason(5) # Works: returns "Summer"
mon <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
months <- as.data.frame(mon)
months %>% mutate(season=getSeason(mon)) # doesn't work: all seasons set as "Winter"
私はRバージョン3.2.4と最新の開発版dplyrを使用しています。 (これはどちらか、dplyrの最新リリースで働いていませんでした。)
ありがとうございます。 – Nat