R-读取一列,并使用qpcr-cbind



所以我正在尝试读取几个csv文件,获取它们的第一列并创建一个新文件。我使用以下代码成功地使用了qpcR和data.table:

FileNames <- dir(pattern = "*.csv") 
x <- integer()
for (FileName in FileNames) {
data <- read.csv(file = FileName, header=FALSE, skip=1)
y <- data[,1]
x<-qpcR:::cbind.na(x, y)
rm(data)
}
write.csv(x, file = 'test.csv')

这很好,但是我发现我可以使用data.table库只读取数据的第一列。

x <- integer()
for (FileName in FileNames) {
data <- fread(FileName,select=1,skip=1, header=FALSE)
y <- data[1:nrow(data),]
x<-qpcR:::cbind.na(x, y)
rm(data)
}
write.csv(x, file = 'test.csv')

然而,这似乎将y视为数据值或整数,从而引发错误:

数据错误。表::数据。表(…(:项目2没有长度。提供至少一个要重复的项(如NA、NA_integer_等(,以匹配最长列中的11行。或者,所有列的长度都可以为0,以便将行插入((。

在这方面有任何帮助都将不胜感激。

在使用typeof((进行调查后,我需要通过添加以下行将fread生成的列表转换为数字。

data <- as.numeric(unlist(data))

这就起到了的作用

最新更新