Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将列表中的不同值作为变量添加到R中的多个数据帧中_R - Fatal编程技术网

如何将列表中的不同值作为变量添加到R中的多个数据帧中

如何将列表中的不同值作为变量添加到R中的多个数据帧中,r,R,我有几个不同长度的数据帧,我试图向每个数据帧添加一个变量,其中包含一个从列表中获取的常量,其中每个数据帧都被分配了一个不同于该列表的条目 如何使用循环或lappy实现自动化?我下面可怜的尝试显然没有得到想要的结果,因为它粘贴了列表中的所有条目: A = data.frame( v=c('x','x','y','y','z','z') ) B = data.frame( v=c('x','y','z') ) C = data.frame( v=c('x','x','x','y','y','y','

我有几个不同长度的数据帧,我试图向每个数据帧添加一个变量,其中包含一个从列表中获取的常量,其中每个数据帧都被分配了一个不同于该列表的条目

如何使用循环或lappy实现自动化?我下面可怜的尝试显然没有得到想要的结果,因为它粘贴了列表中的所有条目:

A = data.frame( v=c('x','x','y','y','z','z') )
B = data.frame( v=c('x','y','z') )
C = data.frame( v=c('x','x','x','y','y','y','z','z','z') )

Mylist = list('a','b','c')

# desired result:
A$new <- Mylist[1]
B$new <- Mylist[2]
C$new <- Mylist[3]

# failed attempt to use lapply:
dfs <- lapply(list(A, B, C), function(d) {
       d$new1 <- Mylist
       d
       })
非常感谢您的帮助。

检查此功能是否有效:

df_list <- list(A, B, C)

dfs <- lapply(seq_along(df_list), function(i) {
  df_list[[i]] <- cbind(df_list[[i]], Mylist[[i]])
})

df\u list您能提供一个示例输出吗?这是您想要的输出还是您得到的输出?变量“new”是我想要得到的(如果我手动实现的话),变量“new1”是我尝试使用lapply自动化失败的结果。
apply
家族总是让我很困惑,我真的很难直接找到解决方案。如果不使用apply,您将如何解决此问题?我也尝试过使用循环,但我也没有让它工作,而且我得到的印象是,使用循环被认为不如应用专家的解决方案。
df_list <- list(A, B, C)

dfs <- lapply(seq_along(df_list), function(i) {
  df_list[[i]] <- cbind(df_list[[i]], Mylist[[i]])
})