2013-04-26 85 views
2

我需要关于此主题的答案。我有我已经采用进口至R的文件夹中的多个文件:查找并替换列表中的缺失值R

temp = list.files(pattern="*.txt") 

myfiles = lapply(temp, read.delim) 

生成的文件上存储为List[110]工作区。所以他们在列表中有110个文件。每个文件都有几个不同的列和行。

我的问题:我想用NA找到并替换-999.99M;找到'T','C','A','F'和'Y',从所有110个文件中删除它们。

回答

2

+1使用lapply将所有数据集放入列表中。

如果我理解正确的话,你可以做替换以下:

myfiles <- lapply(myfiles, function(df) 
        data.frame(lapply(df, function(x) { 
          if(is.numeric(x)) 
           x[x == -999.99] <- NA 
          else x[x %in% c('T','C','A','F','Y')] <- NA 
          x 
        }) 
      )