在R中一次清除数据框的所有列

时间:2017-08-18 17:43:35

标签: r dataframe

我试图写一行或两行代码 查看数据框中的每个列是否存在任何空白 或非数字值,例如N/ANaN,并将其替换为0

以下是一些尝试:

给定数据帧= df,总列 n 我尝试了:

df[,c(1:n)]<-sub("NaN","0",df[,c(1:n)])

这是尝试过滤整个数据框:

df[df[,c(1:n)]=='NaN',"c(1:n)"]

我的目标是在没有的情况下使用for循环执行

3 个答案:

答案 0 :(得分:2)

您可以使用is.finite()

 df[!is.finite(df)] <- 0

答案 1 :(得分:1)

尝试window.addTime = function() { tableCount++; $('#timeTable').clone().attr('id', "timeTable" + tableCount).appendTo('#table'); $('#timeTable' + tableCount).find("input").val(""); };`` df[is.na(df)] <- 0

答案 2 :(得分:1)

如果使用data.table包,则可以使用.SDcols执行此操作。让数据更清晰,但我们可以复制一些随机数据。

library(data.table)
DT <- data.table(a = rep(c(1,NA),20),
           b = rep(c(NA,2),20))

DT[,lapply(.SD,function(x) ifelse(is.na(x), 0, x))]