通过在R中匹配名称在矩阵中插入向量列表

通过在R中匹配名称在矩阵中插入向量列表,r,matrix,R,Matrix,我有一个包含名称和值的向量的大列表。需要通过将列表中的向量名称与矩阵的列名相匹配,将向量值添加到矩阵中 例如,向量和矩阵的列表如下所示: ##列表 vec1在base和dplyr::bind_rows()中使用Reduce(): 库(dplyr) mat如果您使用的是R的base软件包,以下内容可能会有所帮助: r <- do.call(rbind, lapply(seq(length(list_vec)), function(k) {mat0[k,names(list_vec[[k]])

我有一个包含名称和值的向量的大列表。需要通过将列表中的向量名称与矩阵的列名相匹配,将向量值添加到矩阵中

例如,向量和矩阵的列表如下所示:

##列表
vec1在base和
dplyr::bind_rows()中使用
Reduce()

库(dplyr)

mat如果您使用的是
R
base
软件包,以下内容可能会有所帮助:

r <- do.call(rbind, lapply(seq(length(list_vec)), function(k) {mat0[k,names(list_vec[[k]])] <- list_vec[[k]]; mat0[k,]}))

r尝试
mat0[1,名称(vec1)]太棒了。这是非常容易的一步。只是我以后可能需要删除NAs。谢谢。@abhijeetpail很抱歉忽略了这一点。我编辑我的答案以使NAs为0。
r <- do.call(rbind, lapply(seq(length(list_vec)), function(k) {mat0[k,names(list_vec[[k]])] <- list_vec[[k]]; mat0[k,]}))
r <- rbind(t(sapply(seq(length(list_vec)), function(k) {mat0[k,names(list_vec[[k]])] <- list_vec[[k]]; mat0[k,]})))