0
我想计算两个向量的总和乘积,但其中之一有NA。如何在R中处理crossprod中的缺失值?
crossprod(c(4.5,4,4,3,NA), c(1,5,4,1,1))
在计算,我想对待NA作为一个零。但在原始数据框架中,我仍然希望将其保留为NA以进行进一步的数据处理。任何暗示将不胜感激。
我想计算两个向量的总和乘积,但其中之一有NA。如何在R中处理crossprod中的缺失值?
crossprod(c(4.5,4,4,3,NA), c(1,5,4,1,1))
在计算,我想对待NA作为一个零。但在原始数据框架中,我仍然希望将其保留为NA以进行进一步的数据处理。任何暗示将不胜感激。
如果你的十字架产品比之更复杂,你可以定义一个新的功能,它取代NA的参数:
crossprod.replacena <- function(x, y, val=0) {
crossprod(replace(x, is.na(x), val),
replace(y, is.na(y), val)
)
}
或者你可以拨打你的论点replace
没有定义的功能,如replace
不修改其参数。
可以使用sum
功能,并告诉它忽略遗漏值:
sum(c(4.5,4,4,3,NA)*c(1,5,4,1,1), na.rm = TRUE)
非常感谢!这正是我需要的。 –
@QYang我很困惑。如果这正是你需要的,你为什么不接受它? –