我已经为一列提供了以下工作,但需要将其应用于所有列。每列A01
,A02
等需要使用CAG
与列crossprod()
相乘,然后每列应除以该列的总和
#My data frame
data <- data.frame(CAG = c(13, 14, 15), A01 = c(6485,35,132), A02 = c(0,42,56))
#Sum each column independently
sumcolumn <- colSums(data[ , 2:ncol(height)], na.rm=TRUE)
# Work with column A01
result <- crossprod(data$`A01`, data$CAG) / sumcolumn
答案 0 :(得分:2)
mat <- data.matrix(data)
c(crossprod(mat[, -1], mat[, 1])) / colSums(mat[, -1])
我认为na.rm
中的colSums
是个问题。因为如果列中有任何NA
,则叉制产品将首先为NA
。