我有两个列表,格式如下:
list(list(structure(list(X = c(3L, 4L, 5L, 7L, 2L, 8L, 9L, 6L,
10L, 1L), Y = structure(c(2L, 2L, 1L, 2L, 1L, 2L, 1L, 1L, 2L,
1L), .Label = c("no", "yes"), class = "factor")), .Names = c("X",
"Y"), row.names = c(NA, -10L), class = "data.frame"), structure(list(
X = c(3L, 4L, 5L, 7L, 2L, 8L, 9L, 6L, 10L, 1L), Y = structure(c(2L,
2L, 1L, 2L, 1L, 2L, 1L, 1L, 2L, 1L), .Label = c("no", "yes"
), class = "factor")), .Names = c("X", "Y"), row.names = c(NA,
-10L), class = "data.frame")))
并且
list(list(structure(list(X = c(10L, 3L, 4L, 9L, 8L, 2L, 5L, 7L,
1L, 6L), Y = structure(c(2L, 1L, 2L, 2L, 2L, 1L, 1L, 2L, 1L,
1L), .Label = c("no", "yes"), class = "factor")), .Names = c("X",
"Y"), row.names = c(NA, -10L), class = "data.frame"), structure(list(
X = c(5L, 7L, 4L, 3L, 10L, 2L, 9L, 1L, 8L, 6L), Y = structure(c(2L,
2L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L), .Label = c("no", "yes"
), class = "factor")), .Names = c("X", "Y"), row.names = c(NA,
-10L), class = "data.frame")))
我的目标是替换a[[1]][[i]]$x <- b[[1]][[i]]$x
当两个数据框在列表之外时,这是相当简单的:
df1$x<-df2$x
然而,使用我编写的代码并没有起作用。
replacex<-function(onelist, anotherlist){
newlist<-list() #for storage
onelist$x<-anotherlist$x
newlist<-onelist
}
Dfs_new_X<-lapply(a,lapply,replacex,anotherlist=b)
它并不会报错,但是它会删除该列。非常感谢您提供的任何帮助。