r - 使用 purrr 在两个输入列表上运行函数
问题描述
我有一个list
L1和一个data.frame
D2。L1包含两个不同学习项目的学生数据框架 [[1]] 和 [[2]]
因此,L1是按学习计划(建筑与工程)划分的学生列表。D2是data.frame
他们可以选择的项目之一。
我有一个函数,它接受两个输入(L1[[1]] 和 D2)并返回一个 data.frame 但我如何将整个列表L1和 data.frame D2传递给函数并让它在 L1[ [1]] + D2 然后 L1[[2]] + D2。
D2<-data.frame(programme=c("Architecture","Architecture","Engineering", "Engineering"), project=c(14,15,19,20))
L1<-data.frame(studentID=c(203,204,205), programme=c("Architecture","Engineering", "Engineering")) %>% group_by(programme) %>% group_split()
F=function(L1,D2){ L1 %>% left_join(D2)}
我可以做一个 for 循环或者F(L1[[1]],D2)
andF(L2[[2]],D2)
但是 Map(L1,as.list(D2),F) 似乎并没有像我预期的那样处理它。
我正在看,purrr::lmap
但这只需要一个列表。有没有人见过将混合输入带入函数并迭代每个列表而不是向量的东西?
解决方案
推荐阅读
- docker - 如何通过 URL 访问在 gitlab-ci 共享运行器上的管道中运行的 dockerized 应用程序
- java - MySQL:使用同一表中同一列的最大值插入新记录
- javascript - 完成承诺后如何获得价值
- node.js - 将字符串部分覆盖到引号中 Node.js
- javascript - 如何动态匹配对象值与玩笑
- vue.js - 我想在 VueJs 中制作一个类似收音机的复选框
- firebase - 设备上嵌入式客户端应用程序的身份验证
- json - Google API Places Detail : 不返回日本的地区名称
- javascript - 使用 jQuery 将日期输入值重新格式化为德语格式
- java - 了解 CopyOnWriteArrayList 迭代器行为