r - 如何将函数参数从 for/if 循环传递到代码体?
问题描述
我有一个国家和连接数据的数据框,但这些国家仅按整数代码列出。我想为国家名称创建一个新变量,并有一个函数将给定行的国家名称更改为适当的国家名称。
我可以使用以下代码轻松地为任何给定的国家/地区执行此操作:
for (i in 1:nrow(mena)){
if (mena$ccode[i] == 600){
mena$cname[i] <- "Morocco"}
但是,当我尝试创建一个以国家名称和国家代码作为参数的函数时,我的代码不会导致错误消息,但根本不会影响我的数据框。这是我写的函数:
assignGWName <- function(countryname, countrycode){
for (i in 1:nrow(mena)){
if (mena$ccode[i] == countrycode){
mena$cname[i] <- countryname}
}
}
如果我打电话
assignGWName("Morocco", 600)
我没有效果。为什么?