我试图写一行或两行代码
查看数据框中的每个列是否存在任何空白
或非数字值,例如N/A
或NaN
,并将其替换为0
。
以下是一些尝试:
给定数据帧= df,总列 n 我尝试了:
df[,c(1:n)]<-sub("NaN","0",df[,c(1:n)])
这是尝试过滤整个数据框:
df[df[,c(1:n)]=='NaN',"c(1:n)"]
我的目标是在没有的情况下使用for循环执行。
答案 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))]