我有自然灾害和经济损失的国家数据。我想看看气候变化是否会随着时间的推移而加剧自然灾害。我试图把气候变化引起的自然灾害(野火、干旱、滑坡、洪水)和不属于“地震”的自然灾害组合在一起。
这是我所执行的守则:
climate = c('Wildfire', 'Drought', 'Landslide', 'Flood', 'Earthquake')
newdata$climate_related = ifelse(newdata$Entity %in% climate, "yes", "yes","yes","yes","no")这是我收到的错误:
如果
错误(新数据$Entity % in % Entity,“是”):未使用的参数(“是”,“是”,“否”)
我做错了什么?那么,实现这一目标的最佳方式是什么?
发布于 2021-05-14 18:01:01
我们只需要一个'no‘作为else,因为ifelse只需要三个参数,即test --逻辑表达式,yes --如果条件为TRUE,则替换值;替换条件为FALSE的no-值。而且,所有的参数都应该是相同的长度。但是,如果length是1,它就会被回收。
ifelse(newdata$Entity %in% climate, "yes", "no")一个选项,如果有许多元素,可以将它们折叠为一个字符串。
no_option <- toString(c("yes","yes","yes","no"))
ifelse(newdata$Entity %in% climate, "yes", no_option)或者创建一个list并作为list返回
no_option <- list("yes","yes","yes","no")https://stackoverflow.com/questions/67538985
复制相似问题