Importing Multiple Text Files as Individual data.frames in R - 2.15.2 on Mac - 10.8.4

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-13 05:13:32

问题


I have searched through this forum for most of the day trying to find the solution - I could not find so I am posting. If the answer is already out there please point me in the right direction.

What I have - A directory with 40 texts files called the following

  • test_63x_disc_z00.txt
  • *01.txt
  • *02.txt
  • ...
  • *39.txt

In each of these files there are 10 columns of data with no header and a varying number of rows.

What I want - I want to have an individual data.frame in R for each text file with names:

  • file00
  • file01
  • ...
  • file39.

I then want to do add a header column to each of these data.frames.

I then want to be able to manipulate the data at ease (this last part I can sort out once I have input a the data)

This is what I have accomplished (don't laugh now) -

I can input a single text file as a data frame and add a header, like so :

d<-read.delim("test_63x_disc_z00.txt", header = F)

colnames(d)<-c("cell","CentX","CentY","CountLabels","AvgGreen","DeviationsGreen","AvgRed","DeviationsRed","GUI-ID","Slice")

I am not sure how to set up a loop to perform each of the commands to all 40 files and maintain distinct file names.


回答1:


To quicly read in a lot of data frames you can

 listy <- apply(data.frame(list.files()),  1, read.table, sep="", header=F)

Then to name them the list items, you can:

 names(listy) <- paste0("file", seq_along(1:40))

They are then called by listy$file1 etc.




回答2:


Thanks Metrics for editing my input code... I wasn't sure how to give it the format you did.

So I figured it out (dirty version), but it still needs work -

stem <- c("/Users/stefanzdraljevic/Northwestern/2013/Carthew-Rotation/Sample-Images-Ritika/ritika-tes/statistics3/test_63x_disc_z")

The above is the stem for the file naming`

addition <- c("00","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","34","35","36","37","38","39")

This will add the number of the text file to the end of stem. I am not sure how to incorporate the "00" numbering structure without writing them all out.

colnames <- c("cell","CentX","CentY","CountLabels","AvgGreen","DeviationsGreen","AvgRed","DeviationsRed","GUI-ID","Slice")

This will add column names to the data.frame

    data = NULL
for(j in stem){
    data[[j]] = NULL
    for(i in addition){
        data[[j]][[i]] = read.table(paste(j,i,".txt",sep=""), header=F, col.names=colnames)
    }
}

This loop does the trick.



来源:https://stackoverflow.com/questions/18993672/importing-multiple-text-files-as-individual-data-frames-in-r-2-15-2-on-mac-1

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!