将具有特定格式的文本文件加载到R中

时间:2014-07-06 03:17:54

标签: r

我有一个具有以下格式的数据集。我想将它作为列表加载到R中,但还没弄清楚如何做到这一点。有什么建议吗?

    , , RUN1

            V1   V2 V3    V4
    MWMT  0.027 0.002  0.002 0.007
    MSP   0.029 0.004  0.002 0.012

    , , RUN2

            V1   V2 V3    V4
    MWMT  0.029 0.003  0.005 0.006
    MSP   0.031 0.004  0.006 0.017

    , , RUN3
    ... ...

1 个答案:

答案 0 :(得分:2)

你可以这样做:

 lines1 <- readLines(textConnection(", , RUN1

        V1   V2 V3    V4
MWMT  0.027 0.002  0.002 0.007
MSP   0.029 0.004  0.002 0.012

, , RUN2

        V1   V2 V3    V4
MWMT  0.029 0.003  0.005 0.006
MSP   0.031 0.004  0.006 0.017"))

indx <- grepl(",",lines1)

lst1 <- lapply(split(lines1[-which(indx)],cumsum(indx)[-which(indx)]),function(x) read.table(text=x, header=T))
names(lst1) <- gsub("[, ]","", lines1[indx])


 lst1
 #$RUN1
 #       V1    V2    V3    V4
 #MWMT 0.027 0.002 0.002 0.007
 #MSP  0.029 0.004 0.002 0.012

 #$RUN2
 #       V1    V2    V3    V4
 #MWMT 0.029 0.003 0.005 0.006
 #MSP  0.031 0.004 0.006 0.017

如果您已经阅读过格式的数据,例如:

a1 <- array(1:60, c(2,5,6))
lapply(1:dim(a1)[3], function(i) a1[,,i])