【问题标题】:Change "NA" strings to -99.99将“NA”字符串更改为 -99.99
【发布时间】:2021-10-08 00:33:13
【问题描述】:

我正在尝试将数据框列表中的 NA 字符串替换为 -99.99,以便在 RCLIMDEX 中运行我的数据。

这是我的一个数据框的结构,它们都有相同数量的列和行标题。

     year month day Pr Tx2m Tn2m
1 1987    12  31 NA   NA   NA
2 1988     1   1  0   NA   NA
3 1988     1   2  0   NA   NA
4 1988     1   3  0   NA   NA
5 1988     1   4  0   NA   NA
6 1988     1   5  0   NA   NA

我尝试过使用以下方法:

estaciones <- lapply(estaciones, function(x) {x[x==is.na] <- "-99.99"; return(x)})

 estaciones <- lapply(estaciones, function(x){
  x[, 'is.na'] <- -99.99
  return(x)
})

这些行都没有返回我的数据框,并替换了 -99.99 值,它们仍然是 NA。

我可以使用什么来将 NA 字符串替换为 -99.99?谢谢你

【问题讨论】:

    标签: r replace na


    【解决方案1】:

    is.na 是一个函数,应该应用于这些变量。

    estaciones[] <- lapply(estaciones, function(x) {
           x[is.na(x)] <- "-99.99"
            return(x)})
    

    或者简单地将is.na应用于整个数据以创建一个逻辑矩阵,使用它来对原始数据进行子集化并将这些值分配给-99.99

    estaciones[is.na(estacioes)] <- "-99.99"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-13
      • 2015-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多