如何在R中组合两个数据帧值

如何在R中组合两个数据帧值,r,dataframe,R,Dataframe,我想从两个数据帧(df1、df2)创建一个数据帧(结果df) 如何生成下面的“结果df” df1您需要将数据帧转换为矩阵 df1 <- data.frame('user'=c('user1', 'user2', 'user3'), 'item1'=c(10,5,1), 'item2'=c(5,3,7), 'item3'=c(1,8,10)) df2 <- data.fram

我想从两个数据帧(df1、df2)创建一个数据帧(结果df)

如何生成下面的“结果df”


df1您需要将数据帧转换为矩阵

df1 <- data.frame('user'=c('user1', 'user2', 'user3'),
                  'item1'=c(10,5,1),
                  'item2'=c(5,3,7),
                  'item3'=c(1,8,10))

df2 <- data.frame('user'=c('user1', 'user2', 'user3'),
                  'ratio'=c(0.5,0.3,0.2))


res <- as.numeric(as.matrix(df1[,-1])%*%as.matrix(df2[,2]))

names(res) <- c("item1","item2", "item3")

#Output
res
item1 item2 item3 
  6.7   5.0   4.6 
df1尝试下面的代码

> colSums(df1[-1]*df2$ratio)
item1 item2 item3 
  6.7   5.0   4.6
> colSums(df1[-1]*df2$ratio)
item1 item2 item3 
  6.7   5.0   4.6