使用rbind.na组合不等大小的向量

时间:2014-01-17 11:28:02

标签: r

我导入了一些列数不等的数据文件,希望能够创建一个数据框。我使用lapply将它们转换为向量,现在我试图将这些向量放入数据框中。

我正在使用包{qpcR}中的rbind.na来尝试用NA填充每个向量的剩余元素,这样它们都会变成相同的大小。由于某种原因,do.call无法识别该功能。任何人都可以弄清楚为什么会这样吗?

library(plyr)
library(qpcR)

files <- list.files(path = "C:/documents", pattern = "*.txt", full.names = TRUE)

readdata <- function(x)
{
    con <- file(x, open="rt")
    mydata <- readLines(con, warn = FALSE, encoding = "UTF-8")
    close(con)
    return(mydata)
}

all.files <- lapply(files, readdata)
combine <- do.call(rbind.na, all.files)

如果有人有任何潜在的选择,他们可以想到我也对此持开放态度。我实际上尝试使用here中的函数,但我的输出没有给我任何列。

这是错误:

Error in do.call(rbind.na, all.files) : object 'rbind.na' not found

包装肯定也已安装。

编辑:将cbind.na更改为rbind.na以查找错误。

1 个答案:

答案 0 :(得分:3)

该软件包似乎未导出该功能。使用qpcR:::rbind.na将允许您访问该功能。

三重冒号允许您访问命名空间的内部变量。请注意?":::"建议不要在代码中使用它,大概是因为在将来的软件包版本中不能依赖未导出的对象。它建议联系包维护者,以便在对象稳定且有用时导出该对象。