我正在嘗試根據資料中的其他國家/地區在我的資料集中創建一個新列,但在正確撰寫代碼時遇到了一些問題。如果有人介意快速瀏覽一下并為我指明正確的方向,那就太好了。
我已經創建了我需要拆分的國家以保存在下面寫出來
east_countries = c("Albania", "Bosnia and Herzegovina", "Croatia", "Cyprus", "Egypt, Arab Rep.", "Greece", "Israel", "Lebanon", "Libya",
"Montenegro", "Slovenia", "Syrian Arab Republic", "Turkiye")
west_countries = c("Algeria", "France", "Italy", "Malta", "Morocco", "Spain", "Tunisia")
if(fisheries_df$Country_Name %in% east_countries){
fisheries_df$basin = "east"
}
if(fisheries_df$Country_Name %in% west_countries){
fisheries_df$basin = "west"
}
我雖然上面的方法可行,但我可能缺少 IF 陳述句中的位置。我也嘗試了類似下面的方法,但還是沒有運氣。不用挑剔那里使用哪種方法
資料片段
Country_Name year fisheries_production
Albania 1997 1111.
France 1997 2808.
Greece 1997 3058.
fisheries_df[which(fisheries_df$Country_Name %in% west_countries),]=fisheries_df$basin="west"
uj5u.com熱心網友回復:
您可以使用dplyr::case_when
:
fisheries_df$basin <- dplyr::case_when(
fisheries_df$Country_Name %in% east_countries ~ "east",
fisheries_df$Country_Name %in% west_countries ~ "west",
TRUE ~ NA_character_
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/534812.html
標籤:r