【发布时间】:2020-07-13 18:52:43
【问题描述】:
假设我只能访问下面的cbinded data.frame r。因为cbinding之前的原始data.frames中的变量名是一样的,是否可以将r分离到原始data.frames中?
注意。这只是一个玩具示例,功能性解决方案值得赞赏。
# Original data.frames:
c1 <- data.frame(study.name = c(1,1,2,3), mod.s=c(3,3,1,2), mod.g=c(1,1,3,1))
c2 <- data.frame(study.name = c(1,1,2,3), mod.s=c(3,3,2,1), mod.g=c(1,2,3,2))
r <- cbind(c1, c2[-1]) # The only available cbined data.frame
【问题讨论】:
-
最好不要创建同名的data.frame
-
这是一个非常微妙和错误的问题,因为每次您可能进行一些转换时,由于使用
make.unique的data.frame的属性,重复的列可能会得到一个后缀@ -
预期的并不完全清楚。但是,最好有唯一的名称,即
lst1 <- list(names(c1), names(c2)); lst2 <- relist(make.unique(do.call(c, lst1)), lst1); names(c1) <- lst2[[1]]; names(c2) <- lst2[[2]] -
是的,我在这里,我只是在寻找一种没有错误的方法来拆分,因为。一旦创建了
r,就没有太多关于它来自哪个数据的信息,除非它基于列模式。我会创建一个list的 data.frame 并将其用于进一步拆分 -
@akrun,你可能知道this吗?
标签: r list function loops dataframe