R 如何将矩阵的条目ij th添加到具有列i和行j的数据框中

R 如何将矩阵的条目ij th添加到具有列i和行j的数据框中,r,matrix,R,Matrix,我有一个数据框。有两列A和B。我想从矩阵中再增加一列C,其中A列是I,B列是j。例如,假设我有 A B 1 3 2 2 我有一个矩阵 M: 新列C是第一行和第二列,第二行和第二列: A B C 1 3 0 2 2 4 我们可以将data.frame转换为矩

我有一个数据框。有两列A和B。我想从矩阵中再增加一列C,其中A列是I,B列是j。例如,假设我有

          A        B
          1        3
          2        2
我有一个矩阵

M:

新列C是第一行和第二列,第二行和第二列:

          A        B       C
          1        3       0
          2        2       4

我们可以将data.frame转换为矩阵,并将其用作行/列索引,从“M”中提取值,并将其分配给“df1”中的新列

df1['C'] <-  M[as.matrix(df1)]
df1
#  A B C
#1 1 3 0
#2 2 2 4
数据
我们可以将data.frame转换为矩阵,并将其用作行/列索引,从“M”中提取值,并将其分配给“df1”中的新列

df1['C'] <-  M[as.matrix(df1)]
df1
#  A B C
#1 1 3 0
#2 2 2 4
数据
这么简单?如果我有更多的专栏,我会试试看?我应该把A和B放在哪里case@shere在这种情况下,只需将数据集子集,即M[as.matrixdf1[cA,B]]或使用cbind方法updated唯一的问题是第i行和第j列,它为我提供了第i+1j个条目我知道我的数据集有问题。我会试着把它修好这很简单吗?如果我有更多的专栏,我会试试看?我应该把A和B放在哪里case@shere在这种情况下,只需将数据集子集,即M[as.matrixdf1[cA,B]]或使用cbind方法updated唯一的问题是第i行和第j列,它为我提供了第i+1j个条目我知道我的数据集有问题。我会试着把它修好
df1['C'] <- M[cbind(df1$A, df1$B)]
df1 <- data.frame(A = 1:2, B = c(3, 2))
M <- cbind(c(1, 2, 2), c(3, 4, 1), c(0, 5, 6))