簡體   English   中英

在R中讀取多個文件的特定列

[英]Reading specific column of multiple files in R

我已使用以下代碼讀取R中的多個.csv文件:

    Assembly<-t(read.table("E:\\test\\exp1.csv",sep="|",header=FALSE,col.names=c("a","b","c","d","Assembly","f"))[1:4416,"Assembly",drop=FALSE])
    Top1<-t(read.table("E:\\test\\exp2.csv",sep="|",header=FALSE,col.names=c("a","b","c","d","Top1","f"))[1:4416,"Top1",drop=FALSE])
    Top3<-t(read.table("E:\\test\\exp3.csv",sep="|",header=FALSE,col.names=c("a","b","c","d","Top3","f"))[1:4416,"Top3",drop=FALSE])
    Top11<-t(read.table("E:\\test\\exp4.csv",sep="|",header=FALSE,col.names=c("a","b","c","d","Top11","f"))[1:4416,"Top11",drop=FALSE])
    Assembly1<-t(read.table("E:\\test\\exp5.csv",sep="|",header=FALSE,col.names=c("a","b","c","d","Assembly1","f"))[1:4416,"Assembly1",drop=FALSE])
    Area<-t(read.table("E:\\test\\exp6.csv",sep="|",header=FALSE,col.names=c("a","b","c","d","Area","f"))[1:4416,"Area",drop=FALSE])

    data<-rbind(Assembly,Top1,Top3,Top11,Assembly1,Area)

因此,整個數據都在E驅動器的“ test”文件夾中。 R中是否有更簡單的方法來通過幾行代碼或某種函數調用來讀取多個.csv數據,以替代上面所做的事情?

(未經測試的代碼;沒有可用的工作示例)嘗試:使用list.files函數生成正確的名稱,然后使用colClasses作為read.csv的參數來read.csv前4列(由於該向量已回收,因此您也將拋出移至第六欄):

lapply(list.files("E:\\test\\", patt="^exp[1-6]"), read.csv, 
                       colClasses=c(rep("NULL", 4), "numeric"), nrows= 4416)

如果您希望將其作為數據data.frame返回,則將data.frame包裹在其周圍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM