[英]How do I split a data frame by a specific column value, and then apply functions to columns within the data set?
[英]How do I reassign specific values within a column of a data frame?
我有一個數據框,其中一列是錯誤標記的大陸值,稱為美洲。 我想將美國和加拿大的所有值重新分配為北美,並將所有其他標記為美洲的值重新分配為南美洲。
for (i in g2$country){
if (i == "United States") {
g2$continent == 'North America"
}
}
g2 <- g2 |> mutate("new" = ifelse(country %in% c("United States","Canada"),"North America","South America"))
如果您的國家/地區變量中有更多標簽,則應添加另一個 ifelse() 而不是“南美”
如果你想在一個 tidyverse 框架中工作,你可以使用 case_when:
g2 %>%
mutate(continent = case_when(
country %in% c("United States", "Canada", "Mexico") ~ "North America",
TRUE ~ "South America")
)
(那TRUE ~ "South America"
是case_when
處理ELSE
邏輯的方式。)
一個更通用的解決方案(如果您有超過 2 個大陸標簽)將構建一個字典 tibblecontinent_lookup,其中包含國家和continent_lookup
的列,然后join
其與您當前的g2
tibble 連接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.