Skip Headers

SAS  SPSS  R-PROJECT  S-PLUS  PROC-SQL

통 계
프 로 그 램 비 교

Go to Documentation Home
HOME
Go to Book List
PRO_home
Go to Table of Contents
연구회
Go to Index
자료실
Go to Master Index
R-PROJECT
Go to Feedback page
MAIL

Go to previous page
Previous
Go to next page
Next

6. 고정 길이 텍스트 파일 읽기 (두개의 행에 하나의 관측치존재) 


 


1. SAS
2. SPSS
3. R-PROJECT
4. S-PLUS
5. PROC SQL

1. SAS

MAIN

* 고정 길이 텍스트 파일을 읽기 위한 SAS 프로그램.(관측치가 2개의 열에 존재.)

* 두번째 레코드에서는 처음 3개의 변수는 생략하고 q변수만 읽는다.

DATA temp;

     INFILE 'c:\data\mydata.txt' MISSOVER;

     INPUT  #1 id 1-2 workshop 3 gender $ 4  q1 5  q2 6  q3 7  q4 8

            #2 q5 5  q6 6  q7 7  q8 8;

run;

PROC PRINT;

RUN;

OBS    id    workshop    gender    q1    q2    q3    q4    q5    q6    q7    q8

 1      1        1         f        1     1     5     1     2     1     4     1

 2      3        1         f        2     2     4     3     3     1     .     3

 3      5        1         m        4     5     2     4     5     4     5     5

 4      7        1         m        5     3     4     4     4     5     5     5


맨 위로 이동 맨 위로 이동


2. SPSS

MAIN

 * 고정 길이 텍스트 파일을 읽기 위한 SPSS 프로그램.(관측치가 2개의 열에 존재.)

DATA LIST FILE='c:\mydata.txt' RECORDS=2

 /1 id 1-2 workshop 3 gender 4 (A)  q1 5  q2 6  q3 7  q4 8

 /2                                 q5 5  q6 6  q7 7  q8 8.

LIST.

EXECUTE.

 

 

맨 위로 이동 맨 위로 이동


3. R-PROJECT

MAIN

 

 * 고정 길이 텍스트 파일을 읽기 위한 R-PROJECT 프로그램.(관측치가 2개의 열에 존재.)

 

# 문자열 변수에 파일의 이름 저장.

myfile<-("c:\\data/mydata.txt")

print(myfile)

[1] "c:\\data/mydata.txt"

 

# 벡터에 변수(열) 이름 저장

myVariableNames<-c("id","group","gender","x1","x2","x3","x4",

                                   "x5","x6","x7","x8")

print(myVariableNames)

[1] "id"     "group"  "gender" "x1"     "x2"     "x3"     "x4"     "x5"   

[9] "x6"     "x7"     "x8"

 

# 다중 레코드에 대하여, 각 레코드의 변수 길이를 2개의 벡터에 저장.

# 두번째 레코드(벡터)에서 음수는 삭제될 변수 지정

myRecord1Widths<-c( 2, 1, 1,1,1,1,1)

myRecord2Widths<-c(-2,-1,-1,1,1,1,1)

 

# 단일 리스트에 위에서 변수의 길이를 저장한 벡터들을 모두 조합하여 저장한다.

myVariableWidths<-list(myRecord1Widths,myRecord2Widths)

print(myVariableWidths)

[[1]]

[1] 2 1 1 1 1 1 1

 

[[2]]

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

 

# 위에서 지정한 변수들과 변수명으로 데이터 읽기:

mydata<-read.fwf(file=myfile,

 width=myVariableWidths, 

 col.names=myVariableNames,

 row.names="id",

 na.strings="999",

 fill=TRUE,

 strip.white=TRUE)

print(mydata)

 

group gender  x1 x2 x3 x4 x5 x6 x7 x8

1     1      f  1  1  5  1  2  1  4  1

3     1      f  2  2  4  3  3  1 NA  3

5     1      m  4  5  2  4  5  4  5  5

7     1      m  5  3  4  4  4  5  5  5

 

맨 위로 이동 맨 위로 이동


4. S-PLUS

MAIN

 

* 고정 길이 텍스트 파일을 읽기 위한 R-PROJECT 프로그램.(관측치가 2개의 열에 존재.)

* 해당 행을 지정하여서 관측치 첫라인을 읽고, 두번째 라인에서 q변수를 읽어서 가로 Merge를 한다.

* 이 후 작업으로 변수명을 다시 변경하면 된다.

 

cbind(importData("c:/data/mydata.txt",

                 type="FASCII",

                 format="%2s,%1s,%1s,%1s,%1s,%1s,%1s")[c(1,3,5,7),],

      importData("c:/data/mydata.txt",

                 type="FASCII",

                 format="%2s,%1s,%1s,%1s,%1s,%1s,%1s")[c(2,4,6,8),4:7])

var1 var2 var3 var4 var5 var6 var7 var4 var5 var6 var7

1    1    1    f    1    1    5    1    2    1    4    1

3    3    1    f    2    2    4    3    3    1         3

5    5    1    m    4    5    2    4    5    4    5    5

7    7    1    m    5    3    4    4    4    5    5    5

 

맨 위로 이동 맨 위로 이동


5. PROC SQL

MAIN