r - 如何以数据框的名称为因素融合数据框列表?
问题描述
给定:具有相同列数但行数不同的数据框列表。
试图得到:一个从所有数据帧中提取同一列并生成另一列的函数,该列标记公共列来自哪个数据帧。
我的推理:
- 使用我想要的列和数据框的名称来制作一个包含两列的新数据框:标签列(数据框的名称)和感兴趣的列
- 对每个数据帧执行此操作。
- rbind所有数据框
- 创建一个函数,根据请求对尽可能多的数据框输入执行此操作
鉴于:
a <- data.frame(V1=c(1:3),V2=c(1001:1003))
b <- data.frame(V1=c(1:5),V2=c(2001:2005))
我想要的是:
rbind(data.frame(group="a",value=c(a$V2)),data.frame(group="b",value=c(b$V2)))
努力做一个这样的功能:
my_fn <- function(...) {
arg <- structure(list(...),names=as.list(substitute(list(...)))[-1L])
do.call(rbind,lapply(arg,function(x) {data.frame(group="x",value=c(x$V2))})) %>% return
}
在我尝试的功能中,我几乎可以得到我想要的,除了group="x"
被读取为"x"
. 但我希望它在列表中读取为 x=name of object,然后放入“”。
解决方案
推荐阅读
- r - R:获取列表中列表的长度
- assembly - x86-32 汇编中 128 位无符号整数的比较
- python - 无法在 Windows 10 上安装 H5PY 库 - Python
- c# - 实体框架核心中的模型循环
- java - 由于数据库,我的 Java 应用程序设置无法正常工作
- java - 使用 Jackson 从 JAXB 生成的 XML 反序列化 Map
- c# - 使用索引从列表中提取多个(非连续)值的最紧凑和/或有效的方法是什么
- php - 通过 smarty 访问抽象类中常量的 Array-Value
- c# - 访问内容类型 CSOM 中的项目
- javascript - 在移动视图中隐藏 div 在 HTML 中不起作用