R 基于数据帧的列将数据帧复制到矩阵
任务:将一列(例如第3列)从数据帧复制到矩阵 我有一个4列的数据框,它是无序的,如下所示R 基于数据帧的列将数据帧复制到矩阵,r,matrix,R,Matrix,任务:将一列(例如第3列)从数据帧复制到矩阵 我有一个4列的数据框,它是无序的,如下所示 column1 column2 column3 column4 2 1 3 55555555 4 4 4 55555555 1 3 5 55555555 3 2 2 55555555 现在,我有一个大小为4X4的矩阵,称为uI矩阵 我试图实现的是
column1 column2 column3 column4
2 1 3 55555555
4 4 4 55555555
1 3 5 55555555
3 2 2 55555555
现在,我有一个大小为4X4的矩阵,称为uI矩阵
我试图实现的是,根据矩阵的column1行和column2列,将column3作为我的数据填充到上述矩阵中我们可以通过cbind数据集“df1”的“column1”和“column2”来使用行/列索引,或者将“data.frame”的前两列转换为矩阵,基于此获取“uI”的元素,并将其分配给数据集“df1”的第三列
uI[as.matrix(df1[1:2])] <- df1[,3]
uI
# [,1] [,2] [,3] [,4]
#[1,] 0 0 5 0
#[2,] 3 0 0 0
#[3,] 0 2 0 0
#[4,] 0 0 0 4
数据
如果你对你的问题有一些不是问题本身的评论,你可以把它放在下面的评论里。在这个网站上,最好不要在帖子中出现额外的聊天内容。若要查看我所做的编辑,请单击您文章下方的“编辑”链接。@prateek16最好使用dput显示示例数据,以便获得数据集的结构。无论如何,根据我用于测试的示例,它没有给出任何错误。我尝试了上面的方法,得到了如下错误,column1中的错误:column2:NA/NaN参数另外:警告消息:1:in[.data.framedf1,column1:column2:强制引入的NAs 2:In[.data.framedf1,第1列:第2列:由引入的NAscoercion@Pratheek16我用所使用的数据进行了更新。它没有显示任何错误。akrun-我尝试了与上面相同的数据,但仍然得到了前面评论中提到的错误消息。如果您可以逐步向我显示,那将非常好-我只是创建了一个数据框和一个矩阵,如上所述d合并了代码uI[as.matrixdf1[1:2]@prateek16奇怪的是,我显示的数据出现了错误。我使用的是R3.2.2。您使用的是哪个版本的R?请检查是否有因子列。akrun-我使用的是3.2.0.df1
df1 <- structure(list(column1 = c(2L, 4L, 1L, 3L), column2 = c(1L,
4L,
3L, 2L), column3 = c(3L, 4L, 5L, 2L), column4 = c(55555555L,
55555555L, 55555555L, 55555555L)), .Names = c("column1", "column2",
"column3", "column4"), class = "data.frame", row.names = c(NA, -4L))
uI <- matrix(0, 4, 4)