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

4. 프로그램 내에서 TEXT 데이터 읽기


 


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

1. SAS

MAIN

 

* SAS 프로그램 상에서 데이터 읽기

 

* 첫번째의 변수 관측치는 제외하고, 2번째 관측값부터 읽기.;

 

DATA BACK.mydata;

INFILE DATALINES DELIMITER = ','

  MISSOVER DSD firstobs=2 ;

INPUT id workshop gender $ q1 q2 q3 q4;

DATALINES;

id,workshop,gender,q1,q2,q3,q4

 1,1,f,1,1,5,1

 2,2,f,2,1,4,1

 3,1,f,2,2,4,3

 4,2,f,3,1, ,3

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

 6,2,m,5,4,5,5

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

 8,2,m,4,5,5,5

;

PROC PRINT; RUN;

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


맨 위로 이동 맨 위로 이동


2. SPSS

MAIN

 

DATA LIST / id 2 workshop 4 gender 6 (A) 

 q1 8  q2 10  q3 12  q4 14.

BEGIN DATA.

 1,1,f,1,1,5,1

 2,2,f,2,1,4,1

 3,1,f,2,2,4,3

 4,2,f,3,1, ,3

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

 6,2,m,5,4,5,5

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

 8,2,m,4,5,5,5

END DATA.

LIST.

SAVE OUTFILE='c:\mydata.sav'.

EXECUTE.

 

맨 위로 이동 맨 위로 이동


3. R-PROJECT

MAIN

 

* R 프로그램에서 데이터 저장하기

 

# 하나의 긴 텍스트 문자열로 데이터 저장.

mystring<-("id,workshop,gender,q1,q2,q3,q4

1,1,f,1,1,5,1

2,2,f,2,1,4,1

3,1,f,2,2,4,3

4,2,f,3,1, ,3

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

6,2,m,5,4,5,5

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

8,2,m,4,5,5,5")

 

# 파일 위치 대신에 textConnection 함수를 이용하여서 프로그램 내의 mystring(긴 문자 벡터)을 텍스트 파일로 읽기.

mydata<-read.table(textConnection(mystring),
 header=TRUE,sep=",",row.names="id")

print(mydata)

# 디스크에 파일을 써서 저장하기.

save.image(file="c:\\mydata.Rdata")

workshop gender q1 q2 q3 q4

1        1      f  1  1  5  1

2        2      f  2  1  4  1

3        1      f  2  2  4  3

4        2      f  3  1 NA  3

5        1      m  4  5  2  4

6        2      m  5  4  5  5

7        1      m  5  3  4  4

8        2      m  4  5  5  5


맨 위로 이동 맨 위로 이동

4. S-PLUS

MAIN

 

##########################################################

# 방법 1

##########################################################

mystring<-

("id,workshop,gender,q1,q2,q3,q4

1,1,f,1,1,5,1

2,2,f,2,1,4,1

3,1,f,2,2,4,3

4,2,f,3,1, ,3

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

6,2,m,5,4,5,5

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

8,2,m,4,5,5,5")

# \n(열구분자)를 기준으로 데이터 읽기.

mystring1 <- unlist(lapply( unpaste(mystring, sep="\n"), unpaste, sep=","))

# 데이터 프레임 생성하기.

mystring2 <- data.frame( matrix(mystring1, ncol=7, byrow=T)[-1,])

# 변수명을 원변수명으로 변경하기.

dimnames(mystring2)[[2]] <- as.character(matrix(mystring1, ncol=7, byrow=T)[1,] )

# 데이터 출력하기.

print(mystring2)

 

##########################################################

# 방법2

##########################################################

# textConnection함수를 이용하여 데이터 읽기

mystring<-data.frame(matrix(scan(textConnection("1,1,f,1,1,5,1

2,2,f,2,1,4,1

3,1,f,2,2,4,3

4,2,f,3,1, ,3

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

6,2,m,5,4,5,5

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

8,2,m,4,5,5,5"), sep=",") , ncol=7, byrow=T))

 

# dimnames함수로 지정된 변수명을 원변수명으로 변경하기.

dimnames(mystring)[[2]] <- c("id","workshop","gender","q1","q2","q3","q4")

print(mystring)

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

 

맨 위로 이동 맨 위로 이동


5. PROC SQL

MAIN

 

* Insert inot를 사용하여서 직접 값을 지정하여 읽기.

* 변수명, 변수 타입을 지정후에, 각 해당값을 테이블에 넣는다.

proc sql;
  create table
mydata
         ( id       char(1),
           workshop char(1),
           gender   char(1),
           q1       num,
           q2       num,
           q3       num,
           q4       num);
  insert into mydata
         values('1','1','f',1,1,5,1)
         values('2','2','f',2,1,4,1)
         values('3','1','f',2,2,4,3)
         values('4','2','f',3,1,.,3)
         values('5','1','m',4,5,2,4)
         values('6','2','m',5,4,5,5)
         values('7','2','m',4,5,5,5)
         values('8','2','m',4,5,5,5);
  select * from mydata;
quit;

id  workshop  gender        q1        q2        q3        q4

1   1         f              1         1         5         1

2   2         f              2         1         4         1

3   1         f              2         2         4         3

4   2         f              3         1         .         3

5   1         m              4         5         2         4

6   2         m              5         4         5         5

7   2         m              4         5         5         5

8   2         m              4         5         5         5

맨 위로 이동 맨 위로 이동