Rで列を追加する時は、
dplyr::mutate()
を使っている。
mutate(列A+列B)
のように計算式の結果を入れられるので便利だけど、文字列を入れる時はこんな感じ ▼
例:Data というデータフレーム内で、
- Age が "Young" or "Aged"
- Sex が "Male" or "Female"
の分類を組み合わせて
- Young_Male
- Young_Female
- Aged_Male
- Aged_Female
という分類の、 "Group" という名前の列を作りたい場合。
Data <- Data %>%
mutate(Group = as.character(NA))
Data$Group[Data$Age=="Young" & Data$Sex=="Male"] <- "Young_Male"
Data$Group[Data$Age=="Young" & Data$Sex=="Female"] <- "Young_Female"
Data$Group[Data$Age=="Aged" & Data$Sex=="Male"] <- "Aged_Male"
Data$Group[Data$Age=="Aged" & Data$Sex=="Female"] <- "Aged_Female"
で、論理値、例えば、
- Young_Male
- Young_Female
- Aged_Male
- Aged_Female
というレベルを持った論理値を入れたい場合は、下記 ▼
Data <- Data %>%
mutate(Group = factor(NA, levels = c("Young_Male", "Young_Female", "Aged_Male", "Aged_Female")))
Data$Group[Data$Age=="Young" & Data$Sex=="Male"] <- "Young_Male"
Data$Group[Data$Age=="Young" & Data$Sex=="Female"] <- "Young_Female"
Data$Group[Data$Age=="Aged" & Data$Sex=="Male"] <- "Aged_Male"
Data$Group[Data$Age=="Aged" & Data$Sex=="Female"] <- "Aged_Female"
リンク
リンク
リンク
リンク