相关疑难解决方法(0)

从R数据帧清除`Inf`值

在R中,我有一个操作,Inf当我转换数据帧时会创建一些值.

我想将这些Inf值转换为NA值.我的代码对于大数据来说速度慢,有没有更快的方法呢?

说我有以下数据帧:

dat <- data.frame(a=c(1, Inf), b=c(Inf, 3), d=c("a","b"))
Run Code Online (Sandbox Code Playgroud)

以下适用于单个案例:

 dat[,1][is.infinite(dat[,1])] = NA
Run Code Online (Sandbox Code Playgroud)

所以我用以下循环推广它

cf_DFinf2NA <- function(x)
{
    for (i in 1:ncol(x)){
          x[,i][is.infinite(x[,i])] = NA
    }
    return(x)
}
Run Code Online (Sandbox Code Playgroud)

但我不认为这是真正使用R的力量.

r dataframe data.table

95
推荐指数
5
解决办法
9万
查看次数

标签 统计

data.table ×1

dataframe ×1

r ×1