R-包含NA的两个变量的平均值
我是R的新手,我有一个很简单的问题R-包含NA的两个变量的平均值,r,na,R,Na,我是R的新手,我有一个很简单的问题 我想计算两个变量的平均值。如果一个变量缺少值,则具有平均值的向量应取可用变量的值。有什么提示吗?所以R mean函数可以通过设置na.rm=TRUE来自动处理此行为。 var1 <- 4 var2 <- 2 mean(c(var1, var2), na.rm = TRUE) # 3 var1 <- 2 var2 <- NA mean(c(var1, var2), na.rm = TRUE) # 2 var1我们可以在cbindin
我想计算两个变量的平均值。如果一个变量缺少值,则具有平均值的向量应取可用变量的值。有什么提示吗?所以R mean函数可以通过设置
na.rm=TRUE来自动处理此行为。
var1 <- 4
var2 <- 2
mean(c(var1, var2), na.rm = TRUE)
# 3
var1 <- 2
var2 <- NA
mean(c(var1, var2), na.rm = TRUE)
# 2
var1我们可以在cbind
ing两个向量之后使用rowMeans
out <- rowMeans(cbind(v1, v2), na.rm = TRUE)
out[is.nan(out)] <- NA
out
#[1] 3.0 3.0 NA 2.5 5.0
数据
v1根据@akrun的评论,您需要一个可复制的示例。不过,我希望这对你有所帮助
给定两个变量,可能在数据帧中,也可能不在数据帧中,ab
和ac
,您可以执行以下操作:
> ab
[1] 1 3 4 6 7 NA
> ac
[1] 3 4 5 6 7 8 10
> ifelse(sum(is.na(ab)) >= 1, mean(ac), mean(ab))
[1] 6.142857
请给出一个小的可复制示例和预期输出。也许,您需要rowMeans(cbind(v1,v2),na.rm=TRUE)
Jep,就是这样!您知道如何处理两个变量均为NA(缺失)的NaN值吗?对于这种情况,您的期望是什么,即当两个元素均NA
位于平均值也为NA的相同位置时,请检查我的解决方案。我更新了更好地使用anyNA(ab)
v1 <- c(1, 3, NA, 2, NA)
v2 <- c(5, NA, NA, 3, 5)
> ab
[1] 1 3 4 6 7 NA
> ac
[1] 3 4 5 6 7 8 10
> ifelse(sum(is.na(ab)) >= 1, mean(ac), mean(ab))
[1] 6.142857