如何在拥有数据帧列表时有条件地更改R中观察值

时间:2017-03-21 18:19:55

标签: r list dataframe

我有一个数据框列表,并希望在满足条件的情况下对任何数据框中的任何单元格应用更改。

示例

mydatalist[[1]][mydatalist[[1]] == "N"] <- NA

这里我在第一个数据帧中用NA替换任何匹配“N”的单元格,但是我希望这适用于所有数据帧。有谁知道快速的方法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用data.table

执行此操作
my_func <- function(dataset, condition){
  require(data.table)
  setDT(dataset)[, lapply(.SD, function(x) ifelse(x == condition, NA, x))]
}

lapply(mydatalist, my_func, condition = "N")