포스팅 목차
4. 프로그램 내에서 TEXT 데이터 읽기
1. Proc SQL
- Insert inot를 사용하여서 직접 값을 지정하여 읽기.
- 변수명, 변수 타입을 지정후에, 각 해당값을 테이블에 넣는다.
SAS Programming |
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;
Results |
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
2. SAS Programming
- SAS 프로그램 상에서 데이터 읽기
SAS Programming |
* 첫번째의 변수 관측치는 제외하고, 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;
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 Programming |
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.
4. R Programming
- R 프로그램에서 데이터 저장하기
R Programming |
from rpy2.robjects import r
%load_ext rpy2.ipython
Results |
C:\Users\BACK\anaconda3\lib\site-packages\rpy2\robjects\packages.py:365: UserWarning: The symbol 'quartz' is not in this R namespace/package.
warnings.warn(
R Programming |
%%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")
Results |
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
5. R - Tidyverse
- 예제 데이터
R Programming |
%%R
library(tidyverse)
mydata <- data.frame(id = c('1','2','3','4','5'),
workshop = c('1', '2','1', '2','1'),
gender = c('f', 'f','f','f','m'),
q1 = c(1,2,2,3,4),
q2 = c(1,1,2,1,5),
q3 = c(5,4,4,NA,2),
q4 = c(1,1,3,3,4) )
print(mydata)
# readr 패키지 - CSV 파일로 저장하기.
write.csv(mydata, file = "C:/WORK/test.csv", row.names=FALSE)
Results |
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 NA 3
5 5 1 m 4 5 2 4
6. Python - Pandas
Python Programming |
import pandas as pd
my_dict = {"id": ['1','2','3','4','5'],
"workshop": ['1', '2','1', '2','1'],
"gender": ['f', 'f','f','f','m'],
"q1": ['1', '2','2','3','4'],
"q2": ['1', '1','2','1','5'],
"q3": ['5', '4','4','','2'],
"q4": ['1', '1','3','3','4']
}
mydata = pd.DataFrame(my_dict)
mydata
Results |
id workshop gender q1 q2 q3 q4
0 1 1 f 1 1 5 1
1 2 2 f 2 1 4 1
2 3 1 f 2 2 4 3
3 4 2 f 3 1 3
4 5 1 m 4 5 2 4
Python Programming |
# CSV 파일로 저장하기.
mydata.to_csv("c:/work/mydata_pd.csv", index=False)
Python Programming |
# pickle로 데이터(객체) 저장 및 불러오기
mydata.to_pickle("c:/work/mydata_df.pkl")
pkl_read = pd.read_pickle("c:/work/mydata_df.pkl")
pkl_read
Results |
id workshop gender q1 q2 q3 q4
0 1 1 f 1 1 5 1
1 2 2 f 2 1 4 1
2 3 1 f 2 2 4 3
3 4 2 f 3 1 3
4 5 1 m 4 5 2 4
Python Programming |
import sqlite3
# SQLite3 DB로 저장하기
con = sqlite3.connect("c:/work/sql_data.db")
mydata.to_sql("BTable", con, if_exists="append", index=False)
con.close()
# SQLite3 DB 불러오기
con = sqlite3.connect("c:/work/sql_data.db")
DB_mydata = pd.read_sql("SELECT * FROM BTable", con)
con.close()
DB_mydata
Results |
id workshop gender q1 q2 q3 q4
0 1 1 f 1 1 5 1
1 2 2 f 2 1 4 1
2 3 1 f 2 2 4 3
3 4 2 f 3 1 3
4 5 1 m 4 5 2 4
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 예제로 만나는 테이블 데이터 처리 방법 리스트 링크 |
반응형
'통계프로그램 비교 시리즈 > 데이터 전처리 비교' 카테고리의 다른 글
통계프로그램 비교 시리즈 – 8. IMPORTING DATA FROM SPSS (0) | 2022.01.06 |
---|---|
통계프로그램 비교 시리즈 – 7. IMPORTING DATA FROM SAS (0) | 2022.01.06 |
통계프로그램 비교 시리즈 – 6. 고정 길이 텍스트 파일 읽기 (두개의 행에 하나의 관측치존재) (0) | 2022.01.05 |
통계프로그램 비교 시리즈 – 5. 고정 길이 텍스트 파일 읽기 (한줄에 하나의 관측치) (0) | 2022.01.05 |
통계프로그램 비교 시리즈 – 3. 쉼표(,) 구분자 텍스트 파일 읽기 (0) | 2022.01.05 |
댓글