我有兩列Project ID,Project Number在我的資料框中hpds_all_clean有 NA,我正在嘗試用“未公開的專案 ID”和“未公開的專案編號”替換所有出現的 NA。以下是我的一些嘗試,它們具有相同的錯誤:
target of assignment expands to non-language object
使用gsub():
hpds_all_clean %>%
filter(`Recipient Name-EN` == "Afghanistan") %>%
hpds_all_clean$`Project Title - EN` = gsub("", "Undisclosed Project ID", hpds_all_clean$`Project Title - EN`) %>%
hpds_all_clean$`Project Number/Numéro de projet` = gsub("", "Undisclosed Project Number", hpds_all_clean$`Project Number/Numéro de projet`)
使用paste0()
hpds_all_clean %>%
filter(`Recipient Name-EN` == "Afghanistan") %>%
paste0(hpds_all_clean, hpds_all_clean$`Project Title - EN`) = "Undisclosed Project ID" %>%
paste0(hpds_all_clean, hpds_all_clean$`Project Number/Numéro de projet`) = "Undisclosed Project Number"
任何建議將不勝感激。感謝您的時間!
uj5u.com熱心網友回復:
如果這些值是 NA 你可以做
hpds_all_clean %>%
mutate(`Project Title - EN` = if_else(is.na(`Project Title - EN`),"Undisclosed Project ID",`Project Title - EN`),
`Project Number/Numéro de projet` = if_else(is.na(`Project Number/Numéro de projet`),"Undisclosed Project Number",`Project Number/Numéro de projet`))
如果這些“NA”值實際上是“”,您將在上面編輯為:if_else(`Project Title - EN` == "")等
uj5u.com熱心網友回復:
replace_na()在tidyr包中可以幫助解決這個問題:
df <- data.frame(
projectID = c('ABC', NA, "DEF", "HIJ", NA),
projectNumber = c('LMN', "OPQ", "RST", NA, "UVW")
)
df %>% tidyr::replace_na(
list(
projectID = "Undisclosed Project ID",
projectNumber = "Undisclosed Project Number"
)
)
輸出:
projectID 專案編號 1個ABC LMN 2 未公開的專案 ID OPQ 3 預設 4 HIJ 未公開專案編號 5 未公開的專案 ID UVW
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/441254.html
