본문 바로가기
통계프로그램 비교 시리즈/데이터 전처리 비교

통계프로그램 비교 시리즈 – 5. 고정 길이 텍스트 파일 읽기 (한줄에 하나의 관측치)

by 기서무나구물 2022. 1. 5.

포스팅 목차

    5. 고정 길이 텍스트 파일 읽기 (한줄에 하나의 관측치)

     


    1. Proc SQL

     


    2. SAS Programming

     

    • SAS Program에서 고정길이 텍스트 파일 읽기(1 Record per Case);
    • 해당 변수의 자리수를 지정하여서 파일을 읽는다.
    SAS Programming
    DATA BACK.mydata;
         INFILE 'c:\data\mydata.txt' MISSOVER;
         INPUT id 1-2 workshop 3 gender $ 4 
                q1 5  q2 6  q3 7  q4 8;
    RUN;

     

    Results
    OBS    id    workshop    gender    q1    q2    q3    q4
     1      1        1         f        1     1     5     1
     2      2        2         f        2     1     4     1
     3      3        1         f        2     2     4     3
     4      4        2         f        3     1     .     3
     5      5        1         m        4     5     2     4
     6      6        2         m        5     4     5     5
     7      7        1         m        5     3     4     4
     8      8        2         m        4     5     5     5

     


    3. SPSS

     

    • SPSS Program에서 고정 길이 텍스트 파일 읽기(1 Record per Case)
    SPSS Programming
    DATA LIST FILE='c:\mydata.txt' RECORDS=1
     /1 id 1-2 workshop 3 gender 4 (A)  q1 5  q2 6  q3 7  q4 8.
    LIST.
    SAVE OUTFILE='c:\mydata.sav'.
    EXECUTE.

     


    4. R Programming

     

    • R Program에서 고정길이 텍스트 파일 읽기(1 Record per Case.)
    R Programming
    # 파이썬에서 R을 사용하기 위하여 rpy2 실행
    from rpy2.robjects import r
    %load_ext rpy2.ipython

     

    Results
    The rpy2.ipython extension is already loaded. To reload it, use:
      %reload_ext rpy2.ipython

     

     

    R Programming
    %%R
    
    # 문자열 변수에 파일의 이름 저장.
    # 파일 위치 출력 확인.
    
    myfile <- ("c:/work/mydata.txt")
    
    print(myfile) 

     

    Results
    [1] "c:/work/mydata.txt"

     

     

    R Programming
    %%R
    # 문자열 벡터에 변수명 저장.
    # workshop 변수명은 생략하였기 때문에 출력되지 않는다.
    
    myVariableNames<-c("id","gender","q1","q2","q3","q4")
    
    print(myVariableNames)

     

    Results
    [1] "id"     "gender" "q1"     "q2"     "q3"     "q4"    

     


     

    R Programming
    %%R
    # Numeric 벡터에 각 변수의 길이 저장.
    # -1의 의미는 지정된 변수의 생략을 의미 (workshop변수 삭제)
    
    myVariableWidths<-c(2,-1,1,1,1,1,1)
    
    print(myVariableWidths) 

     

    Results
    [1]  2 -1  1  1  1  1  1

     


     

    R Programming
    %%R
    
    # 실제적으로 파일 읽기 위한 프로그램.
    # 위에서 지정한 변수 길이, 변수명의 벡터를 넣어준다.
    
    mydata<-read.fwf(file=myfile,
                     width=myVariableWidths, 
                     col.names=myVariableNames,
                     row.names="id",
                     fill=TRUE,
                     strip.white=TRUE)
    
    mydata

     

    Results
      gender q1 q2 q3 q4
    1      f  1  1  5  1
    2      f  2  1  4  1
    3      f  2  2  4  3
    4      f  3  1 NA  3
    5      m  4  5  2  4
    6      m  5  4  5  5
    7      m  5  3  4  4
    8      m  4  5  5  5

     


    5. R - Tidyverse

     


    6. Python - Pandas

     


    7. Python - dfply

     


     


     

    통계프로그램 비교 목록(Proc sql, SAS, SPSS, R 프로그래밍, R Tidyverse, Python Pandas, Python Dfply)
    [Oracle, Pandas, R Prog, Dplyr, Sqldf, Pandasql, Data.Table] 오라클 함수와 R & Python 비교 사전 목록 링크
    [SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE]
    SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 링크

     

    반응형

    댓글