我导入了一些列数不等的数据文件,希望能够创建一个数据框。我使用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以查找错误。
答案 0 :(得分:3)
该软件包似乎未导出该功能。使用qpcR:::rbind.na
将允许您访问该功能。
三重冒号允许您访问命名空间的内部变量。请注意?":::"
建议不要在代码中使用它,大概是因为在将来的软件包版本中不能依赖未导出的对象。它建议联系包维护者,以便在对象稳定且有用时导出该对象。