R编程-将文件中的NA视为0

R编程-将文件中的NA视为0,r,R,这是一个非常简单的问题,我一直无法在谷歌上找到答案 我有一个简单的文件-test.txt Gender arch1 M 99 F 97 M NA 我使用read.table将其加载到结果集中-效果良好 attach(resultset) 现在,我想要一些能给我的东西 mean(arch1, [_SOMETHING_]) = 65.3 (and *_NOT_* 98) i、 e.非na.rm=T或类似。基本上,我想将NA视为0——我不想做一些复杂的事情,比如矩

这是一个非常简单的问题,我一直无法在谷歌上找到答案

我有一个简单的文件-test.txt

Gender arch1
M      99
F      97
M      NA
我使用read.table将其加载到结果集中-效果良好

attach(resultset)
现在,我想要一些能给我的东西

mean(arch1, [_SOMETHING_]) = 65.3 (and *_NOT_* 98) 
i、 e.非na.rm=T或类似。基本上,我想将NA视为0——我不想做一些复杂的事情,比如矩阵和数据帧


文件中只有NA=0。当然,我不可能是第一个想要这个的人?我不想讨论NA和0是如何不同的。我认为计算平均数是完全正确的,即使是在缺少学生的情况下

您可以用resultset$arch1[is.naresultset$arch1]=0替换NA,然后计算arch1列的平均值

sum(arch1, na.rm = T)/length(arch1)
在使用平均值之前,可以将NAs替换为零:


以下是我对如何实施解决方案的建议,我现在给出了正确答案:

avg_without_NA = function(vec) 
{
  my_ans = sum(vec, na.rm = T)/length(vec)
  return(my_ans)
}

所以,现在我所要做的就是做一个简单的函数调用,然后我的代码就封装在里面了!更简单,更容易阅读

为什么要求和?我要的是平均数?我想我说的是正确的,sumarch1,na.rm=T将等价于用na=0求和arch1?na.rm=TRUE是这样函数就不会返回na。除以长度得到平均值。>resultset$arch1[is.naresultset$arch1]=0错误$
avg_without_NA = function(vec) 
{
  my_ans = sum(vec, na.rm = T)/length(vec)
  return(my_ans)
}