替换外部data.frame中矩阵列表中的值

替换外部data.frame中矩阵列表中的值,r,R,我有一个矩阵列表(list1)和一个data.frame(df1),我想用与data.frame中相同字符匹配的数值替换每个矩阵中列(从第三列开始)的值(字符) 我使用的代码如下所示: func <- function(m) { df[,3:dim(m)[2]] <- pvals[match(as.character(unlist(m[,3:dim(m)[2]])), as.character(df1[[1]])), 2] df } list.new <- lapply(lis

我有一个矩阵列表(list1)和一个data.frame(df1),我想用与data.frame中相同字符匹配的数值替换每个矩阵中列(从第三列开始)的值(字符)

我使用的代码如下所示:

func <- function(m) {
df[,3:dim(m)[2]] <- pvals[match(as.character(unlist(m[,3:dim(m)[2]])), as.character(df1[[1]])), 2]
df
}
list.new <- lapply(list1, func)

使用
merge
并使用
lappy
循环:

lapply(list1,merge,df1,by.x=3,by.y=1)

您好@agstudy,您的方法很有效,但我已经在我的数据(2508个矩阵列表,共100列)中进行了测试,需要
3.234871
分钟,而我的方法需要
35.30627
秒才能获得相同的数据,也许合并不是更快的方法?
lapply(list1,merge,df1,by.x=3,by.y=1)