R 如何用整个数据集缺失的值替换数字?
我已经编写了一个用户定义的函数,它应该获得一个数据集和一些符号,扫描整个数据集,并用缺少的值替换这个数字的所有实例。在我将代码放入一个用户定义的函数(循环和条件起作用)之前,代码工作得很好。我不明白为什么它现在不起作用。没有警告或错误,只是不起作用。另外,我想问,是否有办法选择对哪些列执行此操作 我的代码是:R 如何用整个数据集缺失的值替换数字?,r,function,for-loop,if-statement,R,Function,For Loop,If Statement,我已经编写了一个用户定义的函数,它应该获得一个数据集和一些符号,扫描整个数据集,并用缺少的值替换这个数字的所有实例。在我将代码放入一个用户定义的函数(循环和条件起作用)之前,代码工作得很好。我不明白为什么它现在不起作用。没有警告或错误,只是不起作用。另外,我想问,是否有办法选择对哪些列执行此操作 我的代码是: repMissing = function(ds,x) { for(i in 1:nrow(ds)) { for(j in 1:ncol(ds)) {
repMissing = function(ds,x)
{
for(i in 1:nrow(ds))
{
for(j in 1:ncol(ds))
{
if (!is.na(ds[i,j]) && ds[i,j] == x)
{
ds[i,j] = NA
}
}
}
}
我运行了以下代码:
repMissing(diet2,-99)
由于某种原因,-99仍然不是NA
任何建议都将不胜感激。谢谢大家!
编辑:这个问题与前面的问题不同,因为我不仅要问如何执行任务,还要问我的代码有什么问题,这与前面的问题不同。如果要替换整个数据帧中出现的所有-99,可以使用:
df[ df == -99] <- NA
如果要替换整个数据帧中出现的所有-99,可以使用:
df[ df == -99] <- NA
谢谢你,山姆,我当然会采纳你的建议,但就一般知识而言,为什么我的代码不起作用?那是在我把它放进函数之前……谢谢你,山姆,我当然会采纳你的建议,但就一般知识而言,为什么我的代码不起作用?在我把它放进函数之前。。。。
df[, colnames(df) %in% df('a')][df[, colnames(df) %in% c('a')] == -99] <- NA