วันศุกร์ที่ 6 พฤศจิกายน พ.ศ. 2558

Convert ไฟล์ csv เป็น matrix (How to convert multiple csv files to matrix in R)


    ใน post ก่อนหน้านี้ ได้ทำการแปลงไฟล์สเป็กตรัมของ OPUS เป็น csv แล้วโดยเป็น x-y table ที่มีข้อมูล ค่า absorbance ที่ wave number  ต่างๆ เมื่อจะเอามาใช้ใน R ก็มักจะนิยมนำข้อมูลเข้ามาอยู่ที่ทำงานได้ง่าย เช่น matrix  ผมได้ลองเขียน script สั้นๆ สำหรับแปลงไฟล์ csv จำนวนหลายๆ ไฟล์เข้ามาเป็น matrix โดยมใช้ choose.files() เข้ามาช่วยในการเลือกไฟล์แบบ interactive ด้วย

csv2matrix <-function(){
    Files <- choose.files()
    nFiles <- length(Files)
    cols <-nrow(read.csv(Files[1],header=FALSE))
    result <-matrix(, nrow=0,ncol=cols)

    for (i in 1:nFiles){
        file <- Files[i]
        data <- read.csv(file, header=FALSE)
        data.m <- matrix(data$V2,nrow=1,ncol=cols,byrow=TRUE)
        result <-rbind(result,data.m)
        colnames(result) <-data$V1
    }
    return(result)
}
   


  

ไม่มีความคิดเห็น:

แสดงความคิดเห็น