首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在r中创建对象向量

在r中创建对象向量
EN

Stack Overflow用户
提问于 2014-12-19 12:10:31
回答 1查看 1.7K关注 0票数 1

for循环的输出由大量数据组成。我想使用函数qpcR::cbind.na()将它们合并到一个数据帧中。例如:

代码语言:javascript
复制
df1 <- data.frame(a=1:2, b=1:2)
df2 <- data.frame(a=1:5, b=1:5)
df3 <- data.frame(a=1:3, b=1:3)
library(qpcR)
M <- t(qpcR:::cbind.na(df1, df2, df3))
 1 2  3  4  5
a 1 2 NA NA NA
b 1 2 NA NA NA
a 1 2  3  4  5
b 1 2  3  4  5
a 1 2  3 NA NA
b 1 2  3 NA NA

我想将for循环的输出自动放入这个函数中,以创建M。下面的内容并不能完成这项工作:

代码语言:javascript
复制
n = 3 # number of loop iterationns
B <- c()
for (i in 1:n) {
B[i] <- paste("df[[", i, "]]", sep = "")
}
P <- print(paste(B, collapse=","), quote = F)
M <- t(qpcR:::cbind.na(P))

这些也不是:

代码语言:javascript
复制
M <- do.call(t(qpcR:::cbind.na()), list(P))
M <- lapply(P, t(qpcR:::cbind.na()))

如何创建对象的向量( c(df1, df2, df3) ),而不需要在qpcR::cbind.na()中复制和粘贴P

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-19 16:57:09

看来这就是你要找的东西。get()函数是此解决方案的关键。不,这有帮助!

代码语言:javascript
复制
M <- df1
for (i in 2:3) {
  new_df <- paste("df", i, "", sep = "")
  M <- qpcR:::cbind.na(M, get(new_df))
  }
t(M)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27565882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档