使用R中的DataFrame列表中的列

时间:2016-04-08 15:36:17

标签: r list dataframe

我有一个名为 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)

的延续

1 个答案:

答案 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)