在数据帧的第一列和其他列之间进行Crossprod

在数据帧的第一列和其他列之间进行Crossprod,r,dataframe,R,Dataframe,我已经为一个专栏做好了以下工作,但需要将其应用于所有专栏。需要使用crossprod()将每列A01、A02等与列CAG相乘,然后将每列除以该列之和 #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

我已经为一个专栏做好了以下工作,但需要将其应用于所有专栏。需要使用
crossprod()
将每列
A01
A02
等与列
CAG
相乘,然后将每列除以该列之和

#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
#我的数据帧
数据
mat
mat <- data.matrix(data)
c(crossprod(mat[, -1], mat[, 1])) / colSums(mat[, -1])