자격증/ADSP

데이터 분석 준전문가(adsp) - 입력과 출력

IT grow. 2020. 1. 23. 15:46
반응형

 

1. 데이터 분석 과정 

 

- 분석자가 분석 목적에 맞는 적절한 분석 방법론을 선택해서 정확한 분석을 통해 얻은 결과를 통찰력을 가지고 해석함으로써 분석 과정을 마치게 된다.

 

- 이렇게 데이터를 분석하기 위해서는 분석자가 분석을 위해 설계된 방향으로 데이터를 정확하게 입력받는 것에서부터 시작될 수 있다.

 

- 그리고 입력된 데이터는 다양한 전처리 작업을 거쳐 분석이 가능한 형태로 재정리 됩니다. 우리는 이것을 데이터 핸들링이라고도 한다.

 

- 또한 분석된 결과를 이해하기 쉽고 잘 해석할 수 있도록 생산하는 부분을 데이터 출력이라고 할 수 있다. 출력된 결과는 보고서의 형태로 정리되어 최종 의사결정자와 고객에게 전달되게 됨으로써 통계분석 과정은 종료된다고 할 수 있다.

 

 

2. R에서의 데이터 입력과 출력 

- R에서 처리할 수 있는 데이터 타입은 아래와 같다.

 

Tab - delimited text , Comma-separated text , Excel file , JSON file , HTML/XML file , Database , ( other ) Statistical SW's file 

 

 

키보드로 데이터를 입력 

 

1) 데이터 양이 적어 직접 입력 - c ( ) : combine 함수 

2) 데이터 편집기를 활용하기 : 빈데이터 프레임을 생성 --> 편집기를 불러와서 편집하고 데이터 프레임에 덮어 씌우기 

 


 

출력할 내용의 자리수 정의 

 

- R의 부동소수점 표현 : 7자리로 표시 

- print ( pi , digits = num ) 

- cat ( format ( pi , digits = num ) , " \n " ) 

- options ( digits = num ) 


 

파일에 출력하기 

 

cat ( " 출력할 내용 " , 변수 , "\n" , file = "파일이름" , append = T ) 

sink ( " 파일이름 " ) 

... 출력할 내용 ... 

sink () 

 


 

파일 목록 보기 

 

list.files() , 

list.files(recursive = T , all.files = T ) 

 


 

Cannot Open File ( 파일을 열 수없음 ) 해결하기 

 

역슬래쉬를 슬래쉬로 바꾼다 

역슬래쉬를 쌍으로 표현한다 


 

고정자리수 데이터 파일 ( fixed-width file ) 읽기 

 

read.fwf ( " 파일이름 " , widths = c ( w1 , w2 , ,,, , wn ) 

 


테이블로 된 데이터 파일 읽기 ( 변수 구분자 포함 ) 

 

read.table ( "파일이름" , sep = "구분자" ) 

 

주의1 ) 주소 , 이름 , 성 등의 텍스트를 요인으로 인식함 

해결1 ) read.table ( "파일이름" , sep ="구분자" , stringsASFactor = F ) 

 

주의2 ) 결측치를 NA가 아닌 다른 문자열로 표현할 때 ( SAS. ) 

해결2 ) read.table ( "파일이름" , sep = "구분자" , na.strings ="." ) 

 

주의3 ) 파일의 첫행을 변수명으로 인식하고자 할 때 

해결3 ) read.table ( "파일이름" , sep = "구분자" , header = T ) 


 

CSV 데이터 파일 읽기 ( 변수 구분자는 쉼표 

 

read.csv ( "파일이름" , header = T ) 

 

주의1 ) 주소 , 이름 , 성 등의 텍스트를 요인으로 인식함 

해결1 ) read.csv ("파일이름" , header = T , as.is = T) 


 

CSV 데이터 파일로 출력 ( 변수 구분자는 쉼표 ) 

 

write.csv ( 행렬 또는 데이터프레임 , " 파일이름 " , row.names = F ) 

 

주의1 ) 1행이 변수명으로 자동 인식하지만 변수명이 아닐 경우 

해결1 ) write.csv(dfm , "파일이름" , col.names = F ) 

 

주의2 ) 1열에 레코드 번호를 자동 생성 하지만 레코드 번호를 생성하지 않을 경우 

해결2 ) write.csv ( dfm , "파일이름" , row.names = F ) 

 


웹에서 데이터 파일을 읽어 올 때 ( 변수 구분자는 쉼표 ) 

 

read.csv ( "url주소") 

read.table ( " url주소 " ) 

 

what = numeric(0) --> 토큰을 숫자로 해석 

what = integer(0) --> 토큰을 정수로 해석 

what = complex(0) --> 토큰을 복소수로 해석 

what = character(0) --> 토큰을 문자로 해석 

what = logical(0) --> 토큰을 논리값으로 


 

html에서 테이블 읽어 올 때 

 

library ( XML ) 

url <- "url주소" 

t <- readHTMLTable(url) 

 


복잡한 구조의 파일 ( 웹 테이블 ) 읽기 

 

lines <- readLines("a.txt" , n = num ) 

token <- scan ( " a.txt " , what = numeric ( 0 ) ) 

token <- scan ( " a.txt " , what = list ( v1 = character (0) , v2 = numeric (0)) 

token <- scan ( " a.txt " , what = list ( v1 = character(0) , v2 = numeric (0) , n = num , nlines = num , skip = num , na.strings = list ) 

반응형