我有一个名为 Lista_DF 的数据框列表,此列表中的某些DF有一个名为 COD_MOEDA 的列。
我试图将所有0值替换为" BRL"在DF上有一个名为 COD_MOEDA 的列,而iam使用:
Lista_DF <- lapply(Lista_DF,function(x)
{
x$COD_MOEDA[x$COD_MOEDA == 0] <- 'BRL'
})
但是我收到了这个错误:
Error in `$<-.data.frame`(`*tmp*`, "COD_MOEDA", value = character(0)) :
replacement has 0 rows, data has 3094
我认为这是因为DF没有名为 COD_MOEDA
的专栏有什么建议吗?
这是Changing Values on the Same Column for Different DataFrames (in R)
的延续答案 0 :(得分:1)
简短回答:你忘记了产生错误的退货声明
replacement has 0 rows, data has 3094
关于处理没有CODE_MOEDA
的data.frame只需要条件语句:
if (!is.na(match("COD_MOEDA", names(x)))) {
x$COD_MOEDA[x$COD_MOEDA == 0] <- 'BRL'
}
return(x)