首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R-读取一列,并使用qpcr cbind

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

Stack Overflow用户
提问于 2018-11-06 23:51:51
回答 1查看 103关注 0票数 0

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

代码语言:javascript
复制
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库只读取数据的第一列。

代码语言:javascript
复制
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视为数据值或整数,这会抛出错误:

data.table::data.table(...)中出错:项2没有长度。提供至少一个要重复的项目(例如NA、NA_integer_等),以匹配最长列中的11行。或者,所有列的长度都可以为0,以便将行插入到。

这方面的任何帮助都将是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2018-11-07 00:33:08

在研究了typeof()之后,我发现我需要通过添加以下行将fread生成的列表转换为数字。

代码语言:javascript
复制
data <- as.numeric(unlist(data))

然后这就起作用了

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53175381

复制
相关文章

相似问题

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