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

Vér*_*ace 0 r

非常简单的问题,我无法向谷歌/找到答案.

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

Gender arch1
M      99
F      97
M      NA
Run Code Online (Sandbox Code Playgroud)

我使用read.table将其加载到结果集中 - 工作正常.

attach(resultset)
Run Code Online (Sandbox Code Playgroud)

现在,我想要_something_会给我

mean(arch1, [_SOMETHING_]) = 65.3 (and *_NOT_* 98) 
Run Code Online (Sandbox Code Playgroud)

即不是na.rm = T或类似的.基本上,我想对待NA为0 -我不想做一些复杂的东西在这里与矩阵和dataframes.

从文件中只有NA = 0.当然,我不能成为第一个想要这个的人吗?而且我不想讨论NA和0是如何不一样的.我认为想要计算平均数甚至超过失踪学生是完全有效的!

Pat*_* Li 5

像这样的东西?

sum(arch1, na.rm = T)/length(arch1)
Run Code Online (Sandbox Code Playgroud)

  • `na.rm = TRUE`是函数不返回NA.除以长度给出平均值. (2认同)

Sve*_*ein 5

您可以NA在使用之前将 s 替换为零mean

mean(replace(arch1, is.na(arch1), 0))
# [1] 65.33333
Run Code Online (Sandbox Code Playgroud)