2014-07-06 2 views
-1

다음 형식의 데이터 세트가 있습니다. 목록으로 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 
    ... ... 
+0

. csv 파일에 있나요? 또는이 .rda 파일입니까? – rawr

+0

이 데이터는 어떻게 생성 되었습니까? 분명히 data.frame이 아니었지만 아마도 하나의 것으로 변환 될 수있는 무언가 였을 것입니다. R은 좋은 직사각형 데이터를 읽는 데 가장 좋습니다. 이것은 엉망진창처럼 보입니다. – MrFlick

답변

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 

이미 예를 들어, 형식의 데이터를 읽을 경우 : R의 배열과 같이 구성되어

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

+1 내 [ "SOfun"GitHub 패키지 (https : //)에서 [read.mtable'] (https://github.com/mrdwab/SOfun/blob/master/R/read.mtable.R) github.com/mrdwab/SOfun) :-) – A5C1D2H2I1M1N2O1R2T1

+0

감사합니다. 이 스크립트는 작동합니다. –

+0

@Ananda Mahto, "SOfun"링크를 가져 주셔서 감사합니다. 나는'read.mtable'을 검사 할 것입니다. @ Jian 장, 그것이 효과가 있었는지 기꺼이. – akrun

관련 문제