대체로 R 과 같은 통계 시스템들은 특히 대용량 데이터(large-scale data)의 조작에 유용합니다. 이 점에 있어서는 다른 시스템들이 R 보다 더 나을 수 있기 때문에, 이 매뉴얼의 진의 중 하나는 R 안에서 그 같은 기능을 중복해서 사용하기 보다는 우리가 다

Size: px
Start display at page:

Download "대체로 R 과 같은 통계 시스템들은 특히 대용량 데이터(large-scale data)의 조작에 유용합니다. 이 점에 있어서는 다른 시스템들이 R 보다 더 나을 수 있기 때문에, 이 매뉴얼의 진의 중 하나는 R 안에서 그 같은 기능을 중복해서 사용하기 보다는 우리가 다"

Transcription

1 R Data Import/Export Version ( ) 1. Introduction 분석을 위해 통계 시스템으로 데이터를 불러들이는 것(Importing)과 보고서 작성을 위해 다른 시스템으로 결과들을 내보내는 것(Exporting)은 대부분의 독자들에게 훨씬 더 흥미로운 부분이지만 통계적 분석 그 자체 보다 더 많은 시간이 걸릴 수도 있는 매우 지루한 과정이기도 합니다. 이 매뉴얼에서는 R 에 내장되어 있거나 CRAN 에서 구할 수 있는 다양한 패키지들(packages)을 통한 데이터의 입력 및 결과 출력 장치들(facilities)에 대해 기술할 것입니다. 기술된 패키지들 중 일부는 계속 개발 중이지만, 이미 충분히 유용한 기능을 제공합니다. 따로 언급하지 않는 한, 이 매뉴얼에서 기술된 모든 장치들(facilities)은 R 을 구현하는 모든 플랫폼(platform)에서 사용 가능합니다.

2 대체로 R 과 같은 통계 시스템들은 특히 대용량 데이터(large-scale data)의 조작에 유용합니다. 이 점에 있어서는 다른 시스템들이 R 보다 더 나을 수 있기 때문에, 이 매뉴얼의 진의 중 하나는 R 안에서 그 같은 기능을 중복해서 사용하기 보다는 우리가 다른 시스템을 사용해서 이 작업을 할 수 있다는 것을 보여주는 데 있습니다(예를 들면, Therneau & Grambsch (2000)의 저서에서 그들은 데이터 조작은 SAS 로 그리고 생존분석(survival)은 S 로 하는 것을 선호한다고 밝히기도 하였습니다!). 최근에 개발된 몇몇 패키지들은 Java, perl, python 같은 언어를 직접 R 코드와 함께 사용하는 것을 가능하게 함으로써, 이러한 언어로 만들어 낸 다양한 기능들을 더욱 유용하게 사용하고 있습니다. (Omegahat 프로젝트( 개발된 SJava, RSPerl, RSPython 패키지와 CRAN 에서 구할 수 있는 rjava 패키지를 참조하십시오). 또한, R 도 S 처럼 작지만 다용도로 사용 가능한 여러 개의 도구(tools)를 이용하는 Unix 전통에서 출발했다는 점을 상기해 보았을 때, awk 과 perl 같은 도구를 사용하면 데이터 입력 전이나 결과 출력 후에도 데이터를 조작할 수 있도록 R 기능을 보완하는 것도 가능할 것입니다. Becker, Chambers & Wilks (1988, Chapter 9)에 있는 사례 연구에서 S 에 데이터를 입력하기 전에 여러 Unix 도구(tool)들을 데이터를 검증하고 조작하는 데 사용한 것이 그 예가 될 수 있을 것입니다. 내장된 도움말 파일 데이터베이스를 조작하기 위해 R 이 아닌 perl 을 이용하는 점과 함수 read.fwf 를 실행하는 동안(run-time) perl 이 필요 없다고 결정될 때까지는 자동적으로 perl script 를 불러낸다는 점을 볼 때, R 그 자체 역시 이러한 접근법을 택하고 있는 것으로 볼 수 있습니다. 그러한 전통적인 Unix 도구(tool)들이 이제는 Windows 를 포함한 다양한 시스템에서 더욱 많이 사용되고 있습니다. 1.1 Imports R 에 입력하기 가장 쉬운 파일형태는 단순한 text 파일인데 이것은 주로 작거나 중간 정도 크기의 문제를 해결하는데 적합합니다. Text 파일을 읽어 들이기 위해 가장 많이 사용하는 기능은 scan 이며, 이것은 [Spreadsheet-likedata], Chapter2, page 5 에 설명되어 있는 더욱 편리한 대부분의 함수(functions)의 기초가 됩니다. 하지만, 모든 통계 컨설턴트들은 의뢰인이 Excel 스프레드 시트나 SPSS 파일처럼 특정 binary 포맷을 가진 데이터를 플로피 디스크나 CD 에 저장한 것을 받는 경우가 대부분입니다. 일을 하는데 있어서 흔히 가장 쉬운 경우가 데이터를 text 파일 형태로 내보내는 application 을 사용해서 그 결과물을 출력하는 것입니다(그리고 통계 컨설턴트들은 이러한 작업을 하기 위해 널리 통용되고 있는 여러 개의 application 들을 그들의 컴퓨터 안에 두고 사용하기도 합니다). 그렇지만, 이렇게 application 을 이용하는 것이 언제나 가능한 것은 아니며, [Importing from other statistical systems], Chapter 3, page 11 에서 어떠한 장치들이 R 에서 이러한 파일들을 직접 사용하는 것이 가능한지 설명하고 있습니다. Excel 스프레드 시트(spreadsheet)를 이용하기 위해 사용 가능한 방법들은 [Reading Excel spreadsheets], Chapter 8, page 26 에 요약되어 있습니다.

3 적지 않은 경우 데이터는 그 크기를 줄이고(compactness) 접근 속도를 높이기 위해(speed of access) binary 포맷으로 저장됩니다. 여기에 대한 한 가지 사례는 이미지 데이터(imaging data)를 저장하는 데서 찾을 수 있는데, 보통 엄청난 사이즈의 메모리를 차지하기 때문에 헤더(header)를 앞에 붙이기도 합니다. 이러한 형태의 데이터 포맷에 대해서는 [Binary files], Chapter 5, page 19 과 [Binary connections], Section 6.5, page 22 에서 더 찾아볼 수 있습니다. 좀 더 큰 데이터베이스에 대해서는 database management system (DBMS)을 사용해서 데이터를 처리하는 것이 일반적입니다. 또한, DBMS 를 사용해서 특정한 포맷이 없는(plain) 파일을 추출해내는 것도 가능합니다. 그렇지만 DBMS 와 같은 시스템들을 이용한 결과 추출 연산(extraction operation)도 R 패키지를 사용해서 직접하는 것도 가능합니다. 이에 관하여는 [Relational databases], Chapter 4, page 13 를 참고하십시오. 네트워크 연결을 통해 데이터를 입력하는 방법은 [Network interfaces], Chapter 7, page 24 에서 찾을 수 있습니다. 1.2 Export to text files R 에서 결과를 내보내는 과정은 대체로 다소 단순한 작업이지만, 여전히 많은 문제점을 안고 있습니다. 아무래도 이 작업에 사용하고자 하는 특정 어플리케이션이 있기 마련이고, 보통의 경우 text 파일이 가장 편리하게 변환할 수 있는 수단이라고 할 수 있습니다(만약 binary 파일이 필요하면, [Binary files], Chapter 5, page 19 을 참조하십시오). 함수 cat 은 데이터를 추출해내는 여러 함수들 중 가장 기본이 됩니다. 이것은 하나의 파일을 인수(argument)로 하며, 인수 append 는 cat 어떤 텍스트 파일이 연속적인 호출(call)을 통해 cat 에 쓰여질 수 있도록 해줍니다. 만약 이런 작업이 여러 번에 걸쳐 발생한다면, file connection 을 열어 쓰기(writing), 첨가하기(appending), 그리고 cat 을 connection 에 연결하고 close 로 file 을 종료하면 됩니다 가장 흔히 하는 작업은 하나의 행렬 혹은 데이터 프레임을 숫자들의 열이나 행에 label 을 붙인 사각형의 격자(grid) 형태로 입력하는 것입니다. 이 작업은 write.table 이나 write 기능들로 실행될 수 있습니다. 기능 write 은 단순히 정해진 숫자의 열들로 하나의 행렬이나 벡터(그리고 전치 행렬(transpose) 까지도)를 표현할 수 있습니다. 기능 write.table 은 더욱 사용하기 편리하며, 행과 열의 이름과 함께 데이터 프레임(혹은 데이터 프레임이라고 정의할 수 있는 하나의 개체도)을 정의할 수 있습니다. 하나의 데이터 프레임을 하나의 text 파일로 정의하기 위해서는 많은 부분에서 고민해 볼 필요가 있습니다. 1. Precision 대부분의 경우, 이러한 기능들을 이용해서 실수 복소수 간 전환(conversion)을 할 때는 가능한 모든 자릿수를 다 이용하지만(full precision), 이러한 결과 출력은 전적으로 현재 세팅 된 자릿수(digits

4 option)에 의해 결정됩니다. 좀 더 정확한 결과를 원한다면, 데이터 프레임에 열 별로 포맷을 지정하는 방법도 있습니다. 2. Header line R 은 행 이름을 입력하지 않아도 되도록 header line 을 사용하는 방식을 택하며, 그렇기 때문에 파일의 형태는 다음과 같습니다. dist climb time Greenmantle 몇몇 다른 시스템들은 (입력하지 않아도 되긴 하지만) 행 이름을 입력하도록 하며, 이것은 인수가 col.names = NA 라고 지정되어 있을 때, write.table 이 보여주는 결과와 같습니다. 3. Separator 가장 많이 사용되는 변수(field) 구분자 중 하나는 쉼표(comma)이며, 그래서 영어를 사용하는 국가에서는 변수 안에서 입력된 값에서 쉼표를 발견하는 일이 그리 흔하지는 않습니다. 이러한 형태의 파일들을 CSV (comma separated values)라고 하며, 일종의 포장(wrapper) 기능인 write.csv 가 적당한 디폴트로 작업합니다. 몇몇 지역에서는, 쉼표가 소수점(decimal point)으로 사용되고 있으므로(이 경우는 write.table 에서 dec = "," 을 지정하는 것과 같다) CSV 파일 중에 세미콜론이 변수 구분자로 사용되는 것도 있습니다. 이 경우 제대로 디폴트를 지정하기 위해 write.csv2 을 사용해야 합니다. 따라서, 세미콜론을 사용하거나 탭(tap, sep = "\t")을 사용하는 것이 가장 안정적인 선택이 될 수 있습니다. 4. Missing values 디폴트로 결측값들을 NA 로 출력(output)되게 지정한다고 해도, 이것은 인수 na 에 의해 달라질 수 있습니다. NaN 는 write.table 에서는 NA 와 똑같이 취급되지만, cat 이나 write 에서는 그렇지 않다는 점을 주의해야 합니다. 5. Quoting strings 문자열(string, 그것이 행 이름이던 열 이름이던)은 디폴트에 의해 인용(quote)됩니다. 인수 인용은 문자(character)나 요인(factor) 변수들을 인용하는 방법을 조정하는 것 입니다. 만약에 문자열 안에 인용들을 또 포함한 경우라면 특별히 더 조심해야 합니다. 가장 사용하기 좋은 세 가지 형태는 다음과 같습니다. > df <- data.frame(a = I("a \" quote")) > write.table(df) "a" "1" "a \" quote"

5 > write.table(df, qmethod = "double") "a" "1" "a "" quote" > write.table(df, quote = FALSE, sep = ",") a 1,a " quote 두번째 방법은 명령을 중단(escape)하기 위한 형태인데 주로 스프레드 시트 형태 에서 많이 사용됩니다. 패키지 MASS 에 포함되어 있는 함수 write.matrix 은 행렬을 작성하는데 특화된 인터페이스를 제공하며, 행렬을 블록(block)으로 쓸 수 있는 옵션을 허용해서 메모리 사용량을 줄여줍니다. sink 를 사용해서 파일 하나로 출력된 표준 형태의 R 결과물을 다른 형태로 전환하는 것이 가능하며, 그로 인해 (내부적으로 작동되는) print 에 의한 결과까지 담아냅니다. 이것이 대체로 가장 효율적인 과정(route)은 아니기 때문에 options(width)에 대한 세팅(setting)을 더 많이 해야 할 수 있습니다. 패키지 foreign 안에 든 기능 write.foreign 은 write.table 이라고 써서 text 파일을 생성하며 또한 다른 통계 패키지에서 text 파일로 읽을 수 있는 코드 파일도 생성한다. 현재 SPSS 와 Stata 로 결과를 내보내는 것도 가능하다. 1.3 XML text 파일들에서 데이터를 읽어 들일 때, 그 파일을 생성하는 데 사용한 규정(converntion)들 (예를 들어 [Export to text files], Section 1.2, page 3 에 기술되어 있는 것으로 주석 기호(comment character)나 헤더의 존재 여부, 구분자, 결측치의 표현 등)을 알고 표기하는 것은 사용자의 책임입니다. 데이터의 내용뿐 아니라 그 내용의 구조까지 기록하는 마크업 언어(markup language)는 하나의 파일이 그 안에서 완전히 설명 가능하도록(self-describing) 해주며, 그렇기 때문에 누군가가 데이터를 읽을 때 소프트웨어에 이러한 세부 사항들을 알려줄 필요가 없습니다. 확장형 마크업 언어(좀 더 일반적으로는 XML 로 알려져 있는 extensible Markup Language)는 표준 형태의 데이터 세트뿐 아니라 좀 더 복잡한 형태의 데이터 구조까지도 표현이 가능합니다. XML 은 점점 더 엄청난 인기를 얻고 있으며, 모든 형태의 데이터 마크업과 그 교환에 대한 하나의 기준이 되어가고 있습니다. XML 은 지도와 그래픽을 표현하는데 그리고 수학식 등을 표현하는데 사용되고 있습니다. 패키지 XML 은 R 과 S-PLUS 모두에서 XML 문서를 읽고 쓸 수 있도록 다양한 기능을 제공하여, 기술의 진화에 따라 우리가 좀 더 쉽게 이 기술을 사용할 수도 있다는 희망을 실현하고자 합니다. 몇몇 사람들은 우리가 XML 을 이용하여 다른 기술과 다른 무엇을 할 수 있는지 탐구 중 입니다.

6 데이터 셋을 다양한 application 들에서 공통으로 사용할 수 있도록 표현하는 것, R 과 S-PLUS 에 저장된 개체들은 두 개의 시스템 모두에서 공유 가능하게 하는 것, 플롯은 SVG(Scalable Vector Graphics, 일종의 XML)을 통해서 표현하는 것, 기능을 문서화 하는 것, text 와 데이터 그리고 코드를 모두 포함하는 살아있는 분석 또는 보고서를 작성하는 것 등이 그것입니다. 패키지 XML 의 다양한 기능들에 설명은 이 문서의 설명 범위를 벗어납니다. 좀 더 자세한 내용과 예시가 필요하면 web page 를 찾아보십시오( CRAN 에서 찾을 수 있는 패키지 StatDataML 은 XML 로 작성된 하나의 예시입니다. 2. Spreadsheet-like data [Export to text files], Section 1.2, page 3 에서 우리는 행과 열 이름이 달려 있고 사각의 격자 형태로 표현된 다양한 스프레드 시트 형태의 text 파일 포맷을 확인할 수 있었습니다. 이번에는 이와 같은 형태의 파일들을 R 로 읽어 들이는 방법을 다룹니다. 2.1 Variations on read.table read.table 은 사각형 격자 형태의 데이터를 읽기 위한 가장 편리한 방법입니다. 다양한 가능성 때문에, read.table 기능을 하는 다른 다양한 기능들이 존재하지만, 이러한 기능들은 단지 몇 개의 디폴트 지정만 달리한 것입니다. 주의할 점은 read.table 은 대용량 수치 행렬을 읽기에는 비효율적인 방법이라는 점입니다. 보다 자세한 내용은 다음에 나올 scan 을 참고하십시오. 몇 개의 중요한 사항은 다음과 같습니다. 1. Encoding 만약 파일에 ASCII 형태가 아닌 문자 변수들이 포함되어 있다면, 그것이 제대로 부호화 되어 읽어졌는지 반드시 확인해야 합니다. 이것은 주로 UTF-8 locale 에서 Latin-1 파일을 읽는 것과 관련된 문제인데, 이것은 아래와 같은 방법으로 해결할 수 있습니다. read.table(file("file.dat", encoding="latin1")) 중요한 것은 Latin-1 으로 표현된 모든 locale 에 대해 이 방법을 사용할 수 있다는 점입니다. 2. Header line 우리는 여러분들에게 헤더를 분명하게 표기하라고 권하고 싶습니다. 전통적으로 헤더에는 행 이름 대신 열 이름들만 들어가 있었는데, 그래서 하나의 변수가 다른 것들에 비해 길이가 짧습니다(만약 R 이 이것을 판단할 수 있으면, header = TRUE 로 세팅 할 것입니다). 만약에, 어떤

7 파일이 행 이름에 대한(입력이 되지 않았을 수 있는) 헤더 변수를 포함한다면, 아래와 같은 방법으로 이 파일을 읽을 수 있습니다. read.table("file.dat", header = TRUE, row.names = 1) 열 이름들은 col.names 을 사용해서 따로 정의될 수 있으며, 따로 정의된 이름은 헤더(만약 존재한다면)에 대해 우선합니다. 3. Separator 보통은 파일을 보면 파일에 사용된 변수 구분자가 무엇인지 알 수 있지만, 공백으로 파일이 구분된 경우, 우리는 구분자로 어떤 종류의 공백이든(단순 여백, 탭, 혹은 새로운 행) 다 사용할 수 있는 디폴트 sep = ""과 sep = " ", sep = "\t" 중에서 하나를 구분자로 선택할 수 있습니다. 구분자의 선택이 인용된 문자열의 입력에 영향을 줄 수도 있다는 점을 주의해야 합니다. 만약 당신이 여백을 포함하고 있는 탭을 구분자로 지정한(tab-delimited) 파일을 가지고 있다면, sep = "\t"을 사용해야만 합니다. 4. Quoting 디폴트에 의해 문자형 문자열이 " 또는 에 의해 인용되면, 각각의 경우에 그 인용부호(quote)가 나타나기 전의 모든 문자들이 문자형 문자열의 한 덩어리로 간주됩니다. 유효한 인용부호 문자들의 조합(만약 인용부호 지정이 없다면)은 quote 인수(argument)로 통제할 수 있습니다. sep ="\n"에 대해서, 디폴트는 quote = ""로 변경되어야 합니다. 아무런 구분자가 지정되지 않은 경우, C 에서 그런 것처럼, 인용된 문자열 안에 든 인접한 바로 앞의 \ 에 의해 인용 작업이 중단될 수 있습니다. 특정 구분 문자가 지정된 경우에는, 스프레드 시트에서 많이 발생하는 것처럼, 인용된 문자열 내에서 중복된 구분 문자에 의한 인용 작업의 중단이 발생할 수도 있습니다. 예를 들면, One string isn t two, "one more" 을 읽어 들일 때는 read.table("testfile", sep = ",")을 사용해야 합니다. 이렇게 하면 디폴트 구분자에 대해 작동하지 않습니다. 5. Missing values 파일 안에 든 결측값들을 표기하기 위해 문자열 NA 를 사용하도록 디폴트가 지정되어 있지만, 결측값을 표현하기 위한 한 개 이상의 문자 벡터를 지정하는 na.strings 에 의해 이 표현은 달라질 수 있습니다. 또한 수치화된 열들 중에서 비워진 열들도 결측치로 간주됩니다. 숫자로 된 열에서는 NaN 과 Inf, -Inf 이 값 채워진 것으로 인정됩니다. 6. Unfilled lines 스프레드 시트로부터 나온 파일이 줄줄 이어지는 빈 칸이 있는 열 들을 포함했거나 구분자가 빠져있는 경우는 매우 흔합니다. 이러한 파일을 읽기 위해서는 fill = TRUE 옵션을 사용합니다.

8 7. White space in character fields 구분자가 지정되어 있는 경우에는, 문자열들 앞에 나오는 계속되는 흰 공간이 그 열의 일부로 인식됩니다. 그 공간을 벗겨내기 위해서는, strip.white = TRUE 옵션을 사용합니다. 8. Blank lines read.table 은 디폴트에 의해 공백인 행들을 무시합니다. 이것은 blank.lines.skip = FALSE 세팅에 의해 바뀔 수 있는데, 이 옵션은 fill = TRUE 과 함께 사용될 때만 작동합니다. 이러한 현상은 아마도 보통의 layout 에서는 비어 있는 행들이 결측된 개체들을 의미하기 때문일 것 입니다. 9. Classes for the variables 특별한 조치를 따로 하지 않는다면, read.table 은 데이터 프레임 내에 포함된 각각의 변수들에 적당한 class 를 스스로 할당하려 합니다. 어떤 입력 값이 결측치가 아니고 특별히 해당 class 로 전환 될 수 없다면, 이 문장은 차례로 logical, integer, numeric 그리고 complex 로 움직여가며 class 할당을 시도합니다. 1 만약 이러한 시도가 모두 실패하면, 그 변수는 factor 변수로 변환됩니다. 인수(argument) colclasses 와 as.is 는 더 많은 것을 통제할 수 있게 합니다. as.is 는 문자열들이 factor 변수로 전환되는 일이 없도록 통제합니다(주로 이 용도로만 쓰입니다). colclasses 를 사용하면, 입력 시 각각의 열에 전부 다른 class 를 할당하는 것이 가능합니다. 중요한 것은 colclasses 와 as.is 이 각각의 변수가 아니라, 각각의 열에 대해 기술한다는 것입니다. 그래서 이들은 행 이름들이 포함된 열도 (만약 그런 열이 있다면) 포함합니다. 10. Comments read.table 은 디폴트로 # 를 주석 문자로 사용하고 있습니다. 만약, 이 문자가 나타난다면 (인용되고 있는 부분에서 나타난 것이 아니라면) 그 줄의 나머지 부분은 무시됩니다. 즉, 오직 흰 공간과 주석을 포함한 줄들 만이 공백으로 처리됩니다. 만약 데이터 파일 안에 주석이 없는 것이 확실하다면, comment.char = ""을 사용하는 편이 더 안전할 것입니다(어쩌면 처리도 더 빠를 것입니다.) 11. Escapes 많은 OS 들은 관습적으로 text 파일에서 역슬래쉬(\)를 마침(또는 종료: escape) 문자로 사용하고 있지만, Windows 에서는 그렇지 않습니다(역슬래쉬(\)를 경로 이름을 표시하는 데 사용하고 있습니다). R 에서 이 문제는 데이터 파일에 적용하는데 있어 관습을 따를 것인지 아닌지의 선택의 문제입니다. read.table 과 scan 에서는 모두 allowescapes 라는 논리 인수(logical argument)를 사용합니다. R 버전부터는 이 인수가 false 가 디폴트로 설정되어 있으며, 그래서 (앞서 설명한 환경에서는) 역슬래쉬(\)들은 오직 마침(또는 종료: escaping) 인용문으로 해석됩니다. 1 이 방법은 보통 첫 번째 입력 값에서 다른 가능성을 배제하는 방법만큼이나 빠릅니다.

9 read.table 과 scan 둘 모두 논리 인수(logical argument) allowescapes 를 가지고 있습니다. R 에서부터와 같이 이것은 false 가 디폴트로 지정되어 있으며 (위에서 설명한 환경하에서) 역슬래쉬(\)는 단지 인용을 마치는 것으로 해석됩니다. 만약 이러한 세팅이 true 라면, C 스타일로 \a, \b, \f, \n, \r, \t, \v 와 \040 and \0x2A 와 같이 표현된 8 진수나 16 진수 통제 문자가 종료로 해석됩니다. 역슬래쉬(\)를 포함한 어떤 다른 종료 문자도 그것과 같이 다루어 집니다. read.csv 와 read.delim 와 같은 편리한 함수는 영문사용 부분에서 스프레드시트에서 내보내진 CSV 파일과 탭으로 분리된 파일에 적절하게 read.table 에 인수를 제공합니다. read.csv2 와 read.delim2 는 소수점으로 콤마(comma)를 사용하는 국가에 적당합니다. read.table 에 옵션을 부적절하게 지정하면, 보통 다음과 같은 형태의 에러 메시지가 뜹니다. Error in scan(file = file, what = what, sep = sep, : line 1 did not have 5 elements 또는 Error in read.table("files.dat", header = TRUE) : more columns than column names 이 메세지가 무엇이 문제인지 충분한 정보를 제공하지 못한다면 count.fields 가 문제를 보다 더 자세하게 찾아내는데 유용하게 사용될 수 있습니다. 효율성은 큰 데이터 그리드(grid)를 읽는데 중요합니다. 각 열에 대하여 (논리, 정수, 분수, 복소수, 문자 또는 미가공 된) atomic 벡터 유형들 중 하나인 colclasses 인 comment.char = ""를 특정하고 읽어야 할 행의 수인 nrows 를 부여하는데 (그리고 다소 과대 추정하는 것이 특정하는 것보다 더 좋습니다) 도움이 될 것입니다. 아래의 예제들을 참조하십시오. 2.2 Fixed-width-format files 가끔 데이터 파일은 필드 구분자가 없지만 사전에 정해진 열에 필드를 가집니다. 이것은 천공카드가 사용되던 때에 매우 일반적이었고 파일 공간을 절약하는데 여전히 때때로 쓰이기도 합니다. 함수 read.fwf 는 벡터의 필드 넓이를 특정지음으로써, 그러한 파일들을 읽는데 단순한 방법을 제공합니다. 그 함수는 파일의 전체 줄을 메모리로 읽고, 결과 문자열을 분할하고, 탭으로 분리된 임시 파일을 완성하고, 그리고 read.table 을 호출(call)합니다. 이것은 작은 파일에 적당하지만 어떤 더 복잡한 것에 대해서는 사전 작업된 파일을 위해 perl 과 같은 언어도구를 사용하는 것을 추천합니다.

10 함수 read.fortran 은 포트란(Fortran) 스타일의 열을 지정함으로써 고정된 포맷 파일에 대한 유사한 함수입니다. 2.3 Data Interchange Format (DIF) 스프레드시트와 같은 데이터에 사용된 어떤 특이한 포맷은 DIF(Data Interchange Format)입니다. 함수 read.dif 은 이러한 파일은 읽는데 단순한 방법을 제공합니다. 이것은 각 열에 유형을 할당하는데 read.table 과 유사한 인수(argument)를 취합니다. 윈도우에서 스프레드시트들은 종종 이 포맷에서 클립보드의 스프레드시트 데이터를 저장합니다. read.dif("clipboard")는 직접 그곳으로부터 데이터를 읽을 수 있습니다. 이것은 빈 셀이 있는 스프레드시트를 다루는데 있어서 read.table("clipboard")보다 약간 더 강력합니다. 2.4 Using scan directly read.table 와 read.fwf 둘은 파일을 읽는데 scan 을 이용하고 scan 의 결과를 처리합니다. 그것들은 매우 편리하지만 종종 scan 을 직접 사용하는 것이 더 낳을 때도 있습니다. 함수 scan 은 많은 인수(argument)를 가지고 있고 그것들 중 대부분은 이미 read.table 에 속해있습니다. 가장 중요한 인수(argument)는 what 으로 이것은 어느 것이 파일로부터 읽혀질 변수의 모드(mode) 목록인지 특정하는 것입니다. 만약 이 목록에 이름이 붙여져 있으면, 그 이름은 반환되는 목록의 성분을 위해 사용됩니다. 모드(mode)는 수, 문자 또는 복소수가 될 수 있고, 보통 0, or 0i 와 같은 사례에 의해 특정됩니다. 예를 들면 아래와 같습니다. cat(" ", " ", file="ex.dat", sep="\n") scan(file="ex.dat", what=list(x=0, y="", z=0), flush=true) 이것은 세 가지 구성요소와 목록을 출력하고 파일의 네 번째 열을 버립니다. readlines 라는 함수는 원하는 모든 것이 앞으로의 작업진행을 위해 모든 라인(line)을 읽는 것이라면 보다 편리할 것입니다. scan 의 일반적인 용법 중 하나는 큰 행렬의 데이터를 읽는 것입니다. 행과 열이 각각 200 과 2000 인 행렬 데이터 matrix.dat 이 있다고 가정하고 이것을 읽어 들이는데 다음과 같이 하면 유닉스 체제에서는 1 초 이하(같은 컴퓨터에서 윈도우 체제를 사용하면 3 초 이하)의 시간 밖에 걸리지 않습니다. A <- matrix(scan("matrix.dat", n = 200*2000), 200, 2000, byrow = TRUE)

11 반면, 아래와 같이 하면 더 많은 메모리와 시간(10 초)이 걸리고 마지막 세 번째 방법으로 하면 7 초가 걸립니다. A <- as.matrix(read.table("matrix.dat")) A <- as.matrix(read.table("matrix.dat", header = FALSE, nrows = 200,comment.char = "", colclasses = "numeric")) 이 같은 차이는 거의 모두 2000 개의 분리된 짧은 열 전체 때문입니다. 그것들의 길이가 200 이면, scan 은 9 초가 걸리는 반면 read.table 은 특별히 colclasses 를 사용하여 효율적으로 사용한 경우 18 초, 특별한 처리 없이 그냥 사용할 경우 125 초가 소요됩니다. 결국 소요되는 시간은 읽기 유형과 데이터에 따라서 달라질 수 있음에 주의하십시오. 백만개의 별개의 정수를 읽는 것을 가정하여 보면 다음과 같습니다. writelines(as.character((1+1e6):2e6), "ints.dat") xi <- scan("ints.dat", what=integer(0), n=1e6) # 0.77s xn <- scan("ints.dat", what=numeric(0), n=1e6) # 0.93s xc <- scan("ints.dat", what=character(0), n=1e6) # 0.85s xf <- as.factor(xc) # 2.2s DF <- read.table("ints.dat") # 4.5s 그리고 백만개의 작은 코드 집합의 예는 다음과 같습니다. code <- c("lmh", "SJC", "CHCH", "SPC", "SOM") writelines(sample(code, 1e6, replace=true), "code.dat") y <- scan("code.dat", what=character(0), n=1e6) # 0.44s yf <- as.factor(y) # 0.21s DF <- read.table("code.dat") # 4.9s DF <- read.table("code.dat", nrows=1e6) # 3.6s 이러한 소요시간은 운영체제(기본적인 읽기 기능도 윈도우 운영체제에서는 유닉스 운영체제보다 최소한 두 배의 시간이 소요됩니다)와 garbage collector(불필요한 정보를 정리하여 정리된 공간을 만드는 것)의 정확한 상태에 따라 영향을 매우 많이 받습니다. 2.5 Re-shaping data 때때로 스프레드시트 형태의 데이터는 목적에 따른 모든 관측치들에 의해 그 각각의 목적에 따른 공변량을 부여하는 단순한 포맷으로 되어 있습니다. R 의 모델링 함수들은 하나의 열에 있는 관측치를 필요로 합니다. 다음과 같은 반복적으로 측정한 뇌 MRI 측정값으로부터 얻은 표본 데이터를 고려해 보십시오.

12 Status Age V1 V2 V3 V4 P CC CC CC CC CC CC 여기엔 두 개의 공변량이 있고 각각의 목적에 네 개의 관측치가 추가되어 있습니다. 이 데이터는 mr.csv 과 같은 엑셀파일로부터 읽어 들인 것입니다. 다음과 같이 stack 을 이용하면 데이터를 단순한 형태의 출력결과를 보일 수 있도록 하는데 도움이 됩니다. zz <- read.csv("mr.csv", strip.white = TRUE) zzz <- cbind(zz[gl(nrow(zz), 1, 4*nrow(zz)), 1:2], stack(zz[, 3:6])) 이의 출력형태는 아래와 같습니다. Status Age values ind X1 P V1 X2 CC V1 X3 CC V1 X4 CC V1 X5 CC V1 X6 CC V1 X7 CC V1 X11 P V2... 함수 unstack 는 반대 방향으로 작동하는데 데이터 내보내기에 유용합니다. 이러한 작업을 하는 다른 방법은 아래와 같이 함수 reshape 를 사용하는 것입니다. > reshape(zz, idvar="id",timevar="var", varying=list(c("v1","v2","v3","v4")),direction="long") Status Age var V1 id 1.1 P CC CC CC CC CC

13 7.1 CC P CC reshape 는 stack 보다 더 복잡한 구문을 사용해야 하지만 사례에서의 한 열보다 더 긴 형태를 가지는 데이터를 다루는 데 사용될 수 있습니다. direction= wide 과 함께 reshape 또한 반대 방향으로 데이터를 전환하는 기능을 수행할 수 있습니다. 2.6 Flat contingency tables 다차원의 수렴된 표를 표현하기 위해서 배열의 형태는 오히려 불편합니다. 범주형 데이터 분석의 경우 그러한 정보는 종종 셀의 수에 따라 factor 의 수준 조합을 특정하여 첫번째 열과 행과 함께 확장된 이차원 배열로 표현합니다. 행은 위에서부터 아래로 읽고 열은 왼쪽에서 오른쪽으로 읽는 명백한 관습처럼 이러한 행과 열들은 라벨이 단지 그것이 변할 때만 표시된다는 의미에서 구식입니다(ragged). R 에서 그러한 평벙한 형태의 수렴된 표는 ftable 를 이용하여 생성할 수 있으며 그것은 적절한 출력 방법과 함께 ftable 클래스 대상을 생성합니다. UCBAdmissions 이라는 R 의 표준적인 데이터 셋을 예로 하나 들어보면, 입학허가와 성별로 구분된 1973 년 가장 큰 여섯 부문에 대한 UC Berkeley 대학원에 지원한 지원자들을 분류한 결과를 담고 있는 3 차원의 수렴된 표를 고려해 볼 수 있습니다. > data(ucbadmissions) > ftable(ucbadmissions) Dept A B C D E F Admit Gender Admitted Male Female Rejected Male Female 출력된 모양은 명백히 3 차원 배열로 나타내어진 데이터보다 더 유용합니다. 파일에 있는 평범한 표(flat-like contingency tables)를 읽기위한 read.ftable 이라는 함수도 있습니다. 이 함수는 행과 열이 담고있는 변수명과 값을 표현하는데 있어 표가 담고있는 다양한 정보를 정확하게 다루는데 사용되는 추가적인 인수(argument)도 추가적으로 가지고 있습니다. read.ftable 을 위한 도움말은 다수의 유용한 예들을 가지고 있습니다. flat.table 은 as.table 을 사용하여 배열형태(array form)에서 standard contingency table 로 전환할 수 있습니다.

14 flat.table 은 그것의 행(또는 열)의 "ragged" display 로 특징지어집니다. 만약 행 변수값의 모든 격자(full grid)가 주어진다면 어떤 사람은 데이터를 읽기 위해 read.table 을 대신 사용하고 xtabs 를 사용하여 이것으로부터 contingency table 을 생성하여야 합니다. 3 Importing from other statistical systems 이 장에서는 다른 통계시스템에 의해 작성된 바이너리 데이터 파일을 읽는데 따르는 문제에 대하여 설명합니다. 이것은 대부분의 경우 문제를 피하는 가장 좋은 방법이지만 기본 시스템이 지원하지 않을 경우 해결되지 않을 수도 있습니다. 3.1 EpiInfo, Minitab, S-PLUS, SAS, SPSS, Stata, Systat 추천할만한 다른 외부의 패키지는 이런 통계시스템에 의해 마들어진 파일을 불러오거나 내보내는 기능을 제공합니다. 몇몇의 경우 이러한 함수는 read.table 이 필요로 하는 것에 비해 실질적으로 적은 메모리를 필요로 할 것입니다. write.foreign 은 현재 SPSS 와 STATA 로 내보내기 기능을 제공합니다. EpiInfo version 5 와 6 은 자체적으로 고정된 길이의 텍스트 포맷으로 데이터를 저장했습니다. read.epiinfo 는 '.REC' 류의 파일을 R 데이터 프레임으로 읽어들일 것입니다. EpiData 또한 이러한 포맷의 데이터를 생성합니다. 함수 read.mtp 는 Minitab Portable Worksheet 를 불러오기 합니다. 이것은 R list 처럼 워크시트의 구상요소를 반환합니다. 함수 read.xport 는 SAS Transport (XPORT) 포맷의 파일을 읽고 데이터 프레임 목록(a list of data frame)을 반환합니다. 만약 SAS 가 당신의 컴퓨터에서 사용가능하다면, 함수 read.ssd 가 변환포맷에서(in Transport format) SAS 영구 데이터셋('.ssd' 또는 '.sas7bdat')으로 저장되어 있는 SAS 스크립트를 생성하고 실행하는데 사용될 수 있습니다.

15 그러고 난 후 결과 파일을 읽기위해 read.xport 를 호출할 수 있습니다. (패키지 Hmisc 는 유사한 함수인 sas.get 을 가지고 있으며 SAS 를 실행합니다.) SAS 접속없이 윈도우즈에서 실행하는 경우 무료로 구할 수 있는 SAS System Viewer 는 SAS 데이터셋을 열고 그것을 '.csv'와 같은 포맷으로 내보내기하는데 사용할 수 있습니다. 함수 read.s 는 S-PLUS 3.x, 4.x 또는 Unix 나 Windows 2000 (32-bit)에 의해 생성된 바이너리 object 들을 읽을 수 있고 그것들을 다른 OS 에서도 읽을 수 있습니다. 이것은 많이 읽을 수 있는데다 모두 S object 일 필요도 없습니다. 특히 그것은 벡터, 행렬 그리고 테이터 프레임과 그것들을 담고있는 list 들도 읽을 수 있습니다. 함수 data.restore 는 (Alpha 플랫폼에서 dump 된 것을 제외하면 또한 읽을 수 있습니다) (data.dump 에 의해 생성된) S-PLUS 데이터 덤프 (dara dump) 같은 제약하에 읽어 들입니다. 그것은 S-PLUS 5.x 과 그 이후의 버전에서 data.dump(oldstyle=t)로 생성된 데이터 덤프를 읽도록 될 것입니다. 만약 당신이 S-PLUS 에 접근할 수 있다면, S-PLUS 에서 object(들)과 R 에서 생성된 덤프파일 소스(source)를 덤프(dump)하는 것이 보통의 경우 보다 더 신뢰할만 합니다. S-PLUS 5.x 와 6.x 의 경우 당신은 아마도 dump(..., oldstyle=t)를 사용할 필요가 생길 것이고 매우 큰 object 를 읽으면 소스함수(source function)의 사용보다 배치 스크립트(batch script)로서 덤프파일을 사용하는 것을 선호한할 수 있습니다. 함수 read.spas 는 SPSS 에서 '저장하기(save)'와 '내보내기(export)' 명령문에 의해 생성된 파일을 읽을 수 있습니다. 그리고 저장된 데이터셋의 각 변수에 따른 하나의 구성요소와 함께 그 목록(list)를 반환합니다. SPSS 의 변수명(value label)변수들은 선택적으로 R 요소(R factor)로 변환됩니다. SPSS Data Entry 는 데이터 엔트리 형태(entry forms)를 생성하는 어플리케이션의 하나입니다. 디폴트로 read.spss 는 다룰 수 없지만 원래의 SPSS 포맷의 데이터를 추가적 포맷 정보를 담아 생성할 수 있습니다. Stata '.dta'파일은 바이너리 포맷의 파일 중 하나입니다. Stata 의 버전 5, 6, 7/SE 그리고 8 의 파일은 함수 read.dta 와 write.dta 에 의해 읽고 쓸 수 이씁니다. Stata 변수는 변수명과 함께 R 요소 (R factor)로 변환시키거나 R 요소 (R factor)로부터 변환될 수 있습니다. read.systat 는 (Windows 와 같은) little-endian machines 에 쓰여진 장방형의 데이터 파일 (mtype=1)인 Systat SAVE 파일을 읽습니다. 이것들은 '.sys' 또는 (보다 최근에는) '.syd'의 확장자를 가지고 있습니다

16 3.2 Octave Octave 는 수치선형대수시스템(numerical linear algebra system)입니다. 외부패키지 내의 함수 read.octave 는 Octave 명령어인 save-ascii 를 이용하여 생성된 Octave 텍스트 데이터 포맷의 파일을 읽을 수 있습니다. 이 함수는 일반적인 형태의 대부분의 변수, 표준 atomic(실수, 복소수, 행렬, 그리고 N 차원의 배열(array), 끈(string), 범위(range) 및 boolean 수와 행렬)과 가역적인 것들(structs, cells, 그리고 목록(lists))을 다룰 수 있습니다. 4 Relational databases 4.1 Why use a database? R 이 잘 다룰 수 있는 데이터 형태에는 제한이 있습니다. R 에 의해 조작된 모든 데이터는 메모리 상에 존재하고 데이터의 여러 복제본이 함수를 실행하는 동안 생성될 수 있기 때문에 R 은 아주 큰 테이터셋에는 적합하지 않습니다. 크기가 몇 백 메가바이트 이상인 데이터 object 는 R 구동시 메모리 용량초과문제를 야기할 수 있습니다. R 은 데이터 동시접속이 쉽게 지원되지 않습니다. 즉 한 명 이상의 사용자가 동시에 동일한 데이터에 접속하거나 업데이트 하면 한 사용자가 만든 변화가 다른 사용자에게 보이지 않을 수 있습니다. R 은 영구데이터를 지원하므로 한 세션에서 데이터 object 나 전체 워크시트를 저장할 수 있고 이어지는 세션에 담을 수 있습니다. 그러나 저장된 데이터 포맷은 R 에 특유한 것으로서 다른 시스템에 의해 쉽게 조작되지 않습니다. 대이터관리시스템(DBMSs)와 특히 관련 DBMSs(RDBMSs)는 위의 모든 것들을 잘 처리할 수 있도록 고안되었습니다. 이것의 장점은 다음과 같습니다. 1. 큰 데이터베이스에서 선택한 부분에 빠르게 접근할 수 있습니다. 2. 테이터베이스에서 요약하거나 열간 교차표를 만드는 강력한 방법을 제공합니다 3. 스프레드시트의 격자모양의 장방형 모형이나 R 데이터 프레임보다 더 조직화된 형태로 데이터를 저장합니다. 4. 데이터 접속에 보안제약을 강화하면서 복수의 호스트에서 작업을 하는 다수의 클라이언트가 동시접속 할 수 있습니다.

17 5. 넓은 범위의 클라이어트를 지원하는 서버로서 운용할 수 있습니다. 다차원의 contingency 표를 만들어 내기 위해서 DBMS 가 쓰일 수도 있는 통계적 어플리케이션 부류들은 데이터의 10%를 교차표를 만들기 위해서 표본으로 추출할 수도 있습니다. 그리고 분리된 분석에 사용할 데이터를 데이터베이스에서 그룹별로 추출할 것입니다. 4.2 Overview of RDBMSs 전통적으로 데이터 보안에 보다 비중을 두고 있는 비싸고 큰 상업용 RDBMSs 는 있었습니다(Informix; Oracle; Sybase; IBM's DB/2; Microsoft SQL Server on Windows). 그리고 교육용이나 작은 크기의 데이터베이스(MySQL, PostgreSQL, Microsoft Access 와 같은)도 있었습니다. 오픈소스인 PostgreSQL 이 점점 고도화되고 Informix, Oracle, 그리고 Sybase 가 리눅스에서 무료 버전을 배포하면서 이러한 관점의 논의는 의미가 희미해져 가고 있습니다. 텍스트 파일뿐만 아니라 관련된 데이터베이스를 사용하는 다른 일반적인 - 스프레드시트를 포함하여 -데이터 원천들이 있습니다. ODBC(Open Database Connectivity)는 이런 종류의 모든 데이터 원천 사용의 표준입니다. 그것은 Windows 에 기반한 것이었지만 Linux/Unix 에서도 사용할 수 있습니다( 를 참고하시오). 이 장의 후반부에 클라이언트 대 글라이언트/서버 데이터베이스를 제공하는 모든 패키지가 설명되어 있습니다. 데이터베이스는 같은 machine 또는 (보다 자주) 원격적으로 같이 존재할 수 있습니다. 여러 DBMSs 를 지원하는 SQL(Structured Query Language, 종종 'sequel'이라 불리기도 합니다; Bowman et al 과 Kline 과 Kline 2001 을 참고하십시오) 인터페이스 언어에 대한 ISO 표준이 있습니다(실제로는 SQL92 는 ISO/IEC 9075 또는 ANSI X 라고 알려져 있고 SQL99 가 곧 사용될 것입니다) SQL queries 보다 포괄적인 R 인터페이스들은 일상적인 운용 뒤의 SQL 을 생성하지만 SQL 의 직접적인 사용이 복잡한 운용에 있어 필요합니다. 전통적으로 SQL 은 대문자로 쓰여졌지만 많은 이용자들이 R 인터페이스 함수에서 소문자로 쓰는 것이 더 편리함을 느낄 것입니다.

18 관련된 DBMS 는 그것들이 하나의 실체에 대한 관측치를 담고 있는 열들 또는 필드의 한 종류(수치, 문자, 날짜, 등)과 행 또는 레코드로 만들어진 점에서 데이터를 R 데이터 프레임과 비슷한 표들(또는 관계들)의 데오터베이스 처럼 저장합니다. SQL 쿼리(query)는 관련 데이터베이스에서 아주 일반적으로 운용되는 것입니다. 전통적인 쿼리는 다음과 같은 유형의 SELECT 구문입니다. SELECT State, Murder FROM USArrests WHERE Rape > 30 ORDER BY Murder SELECT t.sch, c.meanses, t.sex, t.achieve FROM student as t, school as c WHERE t.sch = c.id SELECT sex, COUNT(*) FROM student GROUP BY sex SELECT sch, AVG(sestat) FROM student GROUP BY sch LIMIT 10 이들 중 첫번째는 데이터베이스 표에 교차로 복사된 R 데이터 프레임 USArrest 로부터 두 열을 선택합니다. 그리고 세 번째 열에서 결과가 정렬되도록 합니다. 두 번째는 학생과 학교의 두 표를 네 번째 열에 반환하도록 데이터베이스 결합 기능을 수행합니다. 세 번째와 네 번째 쿼리는 교차표를 작성하고 회수와 평균을 반환합니다(다섯 개 총 함수는 COUNT(*)와 SUM, MAX, MAX, MIN 그리고 AVG 이고 각 함수는 하나의 컬럼씩에 적용됩니다). SELECT 쿼리는 표를 선택하는데 FROM 을, 포함(또는 AND 또는 OR 로 구분된 하나 이상의 조건)에 대한 조건을 특정하기 위해서 WHERE 를, 그리고 결과를 정렬하기 위해 ORDER BY 를 사용합니다. 데이터 프레임과는 다르게 RDBMS 표에서 행들은 마치 ORDER BY 명령어 없이 순서가 정해져 있지 않은 경우들에 가장 최선의 방법입니다. 여러분은 콤마(,)로 구분하여 하나 이상의 열을 정렬(사전편찬식의 순서로)할 수 있습니다. SELECT DISTINCT 쿼리는 선택된 표에서 각각 구분된 행의 하나의 사본을 반환합니다. GROUP BY 구문은 기준에 따라 행들의 하위 그룹을 선택합니다. 하나 이상의 열이 콤마(,)에 의해 구분되어 특정되면 다중교차분류(multi-way cross classifications)가 다섯개의 결합함수 중 하나에 의해 요약될 수 있습니다. HAVING 구문은 결합된 값에 따라 포함/제외 그룹을 선택학게 할 수 있습니다. 만약 SELECT 명령문이 유일한 순서를 생성하는 ORDER BY 문을 포함한다면, LIMIT 구문은 결과 행들의 연속된 묶음(a contiguous block of output rows)을 선택하여 추가할 수 있습니다. 이것은 일시에 묶음 단위의 열을 추출하는데 유용할 수 있습니다(어쩌면 순서가 유일하지 않는한 LIMIT 구문이 쿼리를 최적화하는 데 사용 가능한 것과 같이 신뢰할만 하지 않을 수도 있습니다).

19 CREATE TABLE 과 같이 표를 만들지만 보통은 이 인터페이스에서 데이터프레임을 데이터베이스에 복사하는 INSERT, DELETE 또는 UPDATE data 가 있습니다. 표는 쿼리 DROP TABLE 로 삭제될 수 있습니다. Kline and Kline(2001)은 SQL 서버 2000, 오라클. MySQL 과 PostgreSQL 에서 SQL 도입에 대해 자세히 논하였습니다 Data types 데이터는 다양한 형태로 데이터베이스에 저장될 수 있습니다. 데이터 형태의 범의는 DBMS 에 따라 결정되지만, (SQL 의 이름이 아니라) SQL 표준이 아래에 나열되어 있는 널리 도입되어 있는 것을 포함하여 많은 유형을 정의하고 있습니다. float(p) Real number, with optional precision. Often called real or double or double precision. integer 32-bit integer. Often called int. smallint 16-bit integer character(n) fixed-length character string. Often called char. character varying(n) variable-length character string. Often called varchar. Almost always has a limit of 255 chars. boolean true or false. Sometimes called bool or bit. date calendar date time time of day timestamp date and time timezone 과 함께 time 과 timestamp 에는 많은 변형이 있습니다. 대용량의 텍스트와 바이너리 데이터 블럭을 위해 도입된 다른 많은 유형들이 각각 텍스트와 벌브(text and blob)의 형태로 있습니다. 더욱 포괄적인 R 인더페이스 패키지가 사용자로부터 형변환(the type conversion)을 숨겨져 있습니다. 4.3 R interface packages

20 R 도움말을 위해 DBMSs 와 연계된 CRAN 에 관한 여러 종류의 패키지가 사용할 수 있습니다. 이것들은 여러 수준의 추론(abstraction)을 제공합니다. 어떤 것은 데이터베이스로부터 그리고 데이터베이스로 전체 데이터로 복사하는 기능을 제공합니다. 모든 패키지들이 데이터베이스에서 SQL 쿼리를 통해 데이터를 선택하고 데이터 프레임이나 그 일부(보통은 행들의 집합으로 구성된)로써 결과를 출력하기 위한 함수를 가지고 있습니다. RODBC 를 제외한 모든 패키지들이 특정한 DBMS 에 연계되어 있습니다. 그러나 진행중인 작업들은 가장 발달된 형태인 RMySQL 과의 결합에서 시초의 팩키지인 DBI 로 통합하려는 방향이 있습니다( 또한 CRAN 에는 가장 발달된 형태 중 하나인 ROracle, RPostgreSQL 그리고 RSQLite(번들화 되어 있는 DBMS SQLite 과 같이 작동하는)이 있습니다( 초기의 두 개 패키지 RmSQL 과 RPgSQL 은 현재 지원되지 않고 CRAN 상의 아카이브 영역에 있습니다. BioConductor 프로젝트는 RdbPgSQL 로 CRAN 상에 업데이트 되어 있습니다. PL/R( R 을 PostgreSQL 에 심기위한 프로젝트 입니다 Packages DBI and RMySQL CRAN 에 있는 패키지 RMySQL 는 MySQL 데이터 베이스 시스템을 위한 인터페이스를 제공합니다(이에 관하여는 and Dubois, 2000.을 참고하십시오). 여기에서 설명하는 것은 버전 에 관한 것이고 그 이전 버전은 완전히 다른 인터페이스를 가지고 있습니다. 현재 버전은 DBI 패키지를 필요로 하고 여기서의 설명은 다른 모든 최근의 작은 변화들과 함께 DBI 에 적용됩니다 년 1 월의 3.23.x 버전부터 GPL 하에서 공개된 MySQL 은 Unix/Linux 및 Windows 에 존재합니다. MySQL 은 '가볍고 간결한' 데이터 베이스 입니다(그것은 운용 중인 파일 시스템이 경우에 따라 민감한 이름의 경우를 유지하여 Windows 에서는 작동되지 않습니다). 패키지 RMySQL 은 Linux 와 Windows 모두에서 사용되고 있습니다. dbdriver("mysql")의 호출은 데이터베이스 연결 객체를 반환하고 dbconnect 의 호출은 데이터베이스 연결(이것은 범용적 함수인 dbdisconnect 를 호출함으로써 닫는)을 열게 합니다. ROracle, PostgreSQL, 또는 RSQLite 과 같은 각각의 DBMS 와 함께 dbdriver("oracle"), dbdriver("postgresql") 또는 dbdriver("sqlite")을 사용합니다. SQL 쿼리들은 dbsendquery 또는 dbgetquery 에 의해 보내질 수 있습니다. dbgetquery 는 쿼리를 보내고 그 결과를 데이터프레임 처럼 추출할 수 있습니다. dbsendquery 는 쿼리를 내보내고 그 결과들을 추출하는데 종종 사용될 수 있는 "DBIResult"로부터 이어 받은 class 의 객체를 반환하고 그 결과를 삭제하기 위해 dbclearresult 를 호출하는데 사용됩니다.

21 함수 fetch 는 쿼리의 결과 중 일부분 또는 전체 행을 리스트로 추출하는데 사용됩니다. 모든 행이 fetch 되면 dbhascompleted 와 dbgetrowcount 는 결과에서 행의 수를 나타내거나 반환합니다. 데이터베이스에서 표를 읽고, 쓰고, 검증하고 그리고 삭제하기 위한 편리한 인터페이스가 있습니다. dbreadtable 과 dbwritetable 은 MySQL 표에 필드의 행이름을 위해 데이터프레임의 행이름을 하는 > library(rmysql) # will load DBI as well ## open a connection to a MySQL database > con <- dbconnect(dbdriver("mysql"), dbname = "test") ## list the tables in the database > dblisttables(con) ## load a data frame into the database, deleting any existing copy > data(usarrests) > dbwritetable(con, "arrests", USArrests, overwrite = TRUE) TRUE > dblisttables(con) [1] "arrests" ## get the whole table > dbreadtable(con, "arrests") Murder Assault UrbanPop Rape Alabama Alaska Arizona Arkansas ## Select from the loaded table > dbgetquery(con, paste("select row_names, Murder from arrests", "where Rape > 30 order by Murder")) row_names Murder 1 Colorado Arizona California Alaska New Mexico Michigan Nevada Florida 15.4 > dbremovetable(con, "arrests") > dbdisconnect(con) Package RODBC

22 CRAN 상의 패키지 RODBC 는 특정한 ODBC 인터페이스를 지원하는 테이터베이스 원천을 위한 인터페이스를 제공합니다. 이것은 매우 광범위하게 적용되고 다른 데이터베이스 시스템에 접속하기 위한 동일한 R 코드를 허용합니다. RODBC 는 Unix/Linux 와 Windows 둘 모두에서 작동하고 거의 모든 시스템이 ODBC 를 위한 지원을 제공합니다. 이제껏 Windows 에서 마이크로소프트의 SQL Server, Access, MySQL 과 PostgreSQL 을 그리고 Linux 에서 MySQL, Oracle, PostgreSQL 과 SQLite 을 시험해 왔습니다. ODBC 는 클라이언트-서버 시스템이어서 Windows 클라이언트에서 Unix 서버에 관해 작동하는 DBMS 에 행복하게 접속해 왔습니다. Windows 에서 ODBC 지원은 평범하게 설치되었고 현재 버전은 MDAC 의 일부로서 사용 가능합니다. Unix 또는 Linux 상에서 여러분은 unixodbc( 또는 iobdc ( 같은 ODBC 드라이버 관리자(driver manager)와 여러분의 데이터베이스 시스템에 적함한 설치된 드라이버가 필요합니다. Windows 는 DBMS 들을 위한 것뿐만 아니라 엑셀시트('.xls), DBase('.dbf') 그리고 텍스트 파일을 위한 드라이버도 제공합니다(명명된 응용프로그램들이 설치될 필요는 없습니다. 그리고 그런 파일 형태들은 드라이버 버전에 따라 지원 여부가 결정됩니다). 엑셀 2007 과 엑세스 2007 을 위한 '2007 Office System Driver 가 있습니다( 을 방문하여 Office ODBC 를 검색하면 AccessDatabaseEngine.exe 를 찾을 수 있습니다). 동시에 많은 연결(connections)을 하는 것도 가능합니다. 연결은 데이터베이스가 대화상자를 통해 수집된 되도록 하는 Windows GUI 에 따라 odbcconnect 나 odbcdriverconnect 를 호출하여 열고 이후의 데이터베이스 접속을 위해 사용된 것(handle)을 반환합니다. 연결은 close 나 odbcclose 를 호출하거나 또한 (경고 메세지와 함께) R 객체가 아닌 것이 그것을 참조하거나 특정 R 세션의 마지막에 닫습니다. 함수 sqlsave 는 데이터베이스에서 R 데이터프레임을 표로 복사하고 sqlfetch 는 데이터베이스 내의 표를 특정한 R 데이터프레임으로 복사합니다. 어떤 SQL 쿼리는 sqlquery 를 호출하여 데이터베이스로 보내질 수 있습니다. 이것은 R 데이터프레임에서 결과를 반환합니다(sqlCopy 는 쿼리를 데이터베이스로 보내고 데이터베이스에서 표처럼 결과물을 저장합니다). 보다 좋은 수준의 통제는 최초에 odbcquery 를 호출함으로써 달성되며 sqlgetresults 는 결과를 불러옵니다. 후자는 함수 sqlfetch 의 기능처럼 반복되는 과정에서 일시에 제한된 수의 행들을 추출하는데 사용될 수 있습니다.

23 여기에 ODBC 드라이버가 행과 데이터프레임명을 낮은 사례로 포착하는데 PostgreSQL 을 이용하는 사례가 있습니다. 우리는 이전에 생성한 testdb 라는 데이터베이스를 사용하고 DSN(데이터 소스명)을 unixodbc 에서 '~/.odbc.ini'에 준비하였습니다. 정확히 동일한 코드가 Linux 나 Windows 에서 MySQL 데이터베이스에 접속하기 위해 MyODBC 를 사용하여 작동되었습니다(MySQL 은 또한 이름을 낮은 케이스로 파악합니다). Windows 에서 DSN 들은 관리자(the Control Panel)에서 ODBC 애플릿에 준비됩니다(2000/XP 에서 '응용도구(Administrative Tools)' 섹션에 'Data Sources(ODBC)'). > library(rodbc) ## tell it to map names to l/case > channel <- odbcconnect("testdb", uid="ripley", case="tolower") ## load a data frame into the database > data(usarrests) > sqlsave(channel, USArrests, rownames = "state", addpk = TRUE) > rm(usarrests) ## list the tables in the database > sqltables(channel) TABLE_QUALIFIER TABLE_OWNER TABLE_NAME TABLE_TYPE REMARKS 1 usarrests TABLE ## list it > sqlfetch(channel, "USArrests", rownames = "state") murder assault urbanpop rape Alabama Alaska ## an SQL query, originally on one line > sqlquery(channel, "select state, murder from USArrests where rape > 30 order by murder") state murder 1 Colorado Arizona California Alaska New Mexico Michigan Nevada Florida 15.4 ## remove the table > sqldrop(channel, "USArrests") ## close the connection > odbcclose(channel) Windows 에서 엑셀작업시트로 ODBC 를 사용하는 단순한 예로 우리는 작업시트에서 다음과 같이 읽을 수 있습니다.

24 > library(rodbc) > channel <- odbcconnectexcel("bdr.xls") ## list the spreadsheets > sqltables(channel) TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS 1 C:\\bdr NA Sheet1$ SYSTEM TABLE NA 2 C:\\bdr NA Sheet2$ SYSTEM TABLE NA 3 C:\\bdr NA Sheet3$ SYSTEM TABLE NA 4 C:\\bdr NA Sheet1$Print_Area TABLE NA ## retrieve the contents of sheet 1, by either of > sh1 <- sqlfetch(channel, "Sheet1") > sh1 <- sqlquery(channel, "select * from [Sheet1$]") 표를 특정하는 것과 sqltables 에 의해 반환된 이름은 다르다는 것에 주의하십시오. sqlfetch 는 그 차이를 파악할 수 있습니다. 5. Binary files Binary connections(chapter 6 [Connections], Page?)는 binary file 을 다루는데 현재 가장 선호되는 방법입니다. 5.1 Binary data formats CRAN 에서 제공되는 hdf5, RNetCDF 그리고 ncdf 패키지는 NASA 의 HDF5(Hierarchical Data Format: 위계적 데이터 포맷; 이에 관하여는 참고하십시오)와 UCAR 의 netcdf 데이터 파일 (network Common Data Form: 네트워크 공용 데이타 폼; 이에 관하여는 참고하십시오)로의 인터페이스를 제공합니다. 이 둘은 모두 데이터에 대한 개략적 설명(descriptions), 라벨(labels), 포맷(formats), 단위(units) 등을 포함하는 과학적 데이터를 배열기준(array-oriented)의 방법으로 저장하는 시스템입니다. HDF5 는 또한 배열(arrays)을 그룹화하고, R interface 는 HDF5 그룹에 대한 리스트를 확인(map)하게 할 수 있으며, 숫자나 문자 벡터나 행렬을 사용할 수 있습니다. CRAN 에서 제공되는 ncvar 패키지는 RNetCDF 를 통한 netcdf 에 대한 high-level R interface 를 제공합니다. rhd5 패키지는 에서 구할 수 있습니다. 5.2 dbase files(dbf)

25 dbases 는 Ashton-Tate 에 의해 만들어진 DOS 프로그램입니다. 그리고 이후에.dbf 라는 흔히 사용되는 파일 확장자와 함께 flat-file format 의 binary 를 가진 Borland 가 소유하게 되었습니다. 그것은 dbase, Clipper, FoxPro 와 그것들의 윈도우 형태인 Visual dbase, Visual Objects 그리고 Visual FoxPro 를 포함하는 Xbase 라는 데이터베이스 군에 적용되어 왔습니다(이에 관하여는 을 참고하십시오). dbase 파일은 헤더(header)와 일련의 필드(fields)를 포함하고 있어서 R 데이터 프레임과 가장 유사합니다. 데이터는 텍스트 포맷으로 저장되며, 문자, 논리적 필드와 수리적 필드, 그리고 최신 버전의 다른 유형들(이에 관하여는 를 참고하십시오)을 포함할 수 있습니다. read.dbf 와 write.dbf 함수(function)는 모든 R platform 에 기본적인 DBF 파일은 읽고 작성할 수 있는 방법을 제공합니다. RODBC package 내의 odbcconnectdbase 는 윈도우 이용자들에게 마이크로소프트가 제공하는 dbase 드라이버를 통해 DBF 파일을 읽는데 보다 포괄적인 도구들을 제공합니다(또한 Visual FoxPro 드라이버도 odbcdriverconnect 를 통해 사용가능 합니다). 6. Connections R 에서 사용되는 Connections 는 Chambers(1998)가 고안한 것으로, 파일과 같은 것들에 대한 유연한 interface 에 의해서 파일이름의 사용을 바꾸는 함수(function)들의 집합입니다. 6.1 Types of connections 가장 익숙한 유형의 connection 은 파일일 것입니다. 파일 connection 은 file 이라는 함수(function)에 의해 생성됩니다. 이러한 file connection 은 사용자의 OS 가 특정 파일의 사용을 지원한다면 text mode 나 binary mode 모두에서 읽기, 쓰기 또는 붙이기를 하는데 사용할 수 있습니다. 실제로 파일들은 읽기와 쓰기 둘 모두를 위해서 사용될 수 있으며, R 은 읽기와 쓰기를 위해 따로 분리된 파일 위치(file position)를 유지합니다. 주의할 점은 default 에서 connection 은 그것이 생성될 때 열리지 않는다는 것입니다. connection 이 사전에 열려있지 않으면 그 connection 을 사용하는 어떤 함수(function)는 그 connection 을 열어야만 하고, 그리고 만약 어떤 함수(function)가 connection 을 열어놓은 상태이면 그 함수(function)의 사용 후에 그 connection 을 닫아야만 하는 것입니다. 간단히 말하면, 당신이 만들어 놓은 상태 그대로 connection 을 유지하십시오. 일반적으로 connection 을 분명하게 열거나 닫는 방법으로 open 과 close 라는 함수(function)를 사용할 수 있습니다. gzip 알고리즘을 통해 압축된 파일은 gzfile 함수(function)에 의해 생성된 connection 으로 사용될 수 있고, bzip2 알고리즘으로 압축된 파일은 bzfile 을 통해 사용될 수 있습니다.

26 Unix 프로그래머들은 종종 stdin, stdout 그리고 stderr 과 같은 특별한 파일들을 다루기도 합니다. 이러한 파일들은 R 에서 terminal connections 로 존재합니다. 이것들은 일반적인 파일들 이겠지만, GUI console 에서 입 출력하는 데 사용될 수도 있습니다(the standard R interface 에 의해서도 stdin 은 특정 파일이라기 보다는 readline 에 의해 line 을 삽입하는데 사용됩니다). 세 개의 terminal connection 은 항상 열려있으며, 따로 열거나 닫을 수 없습니다. stdout 와 stderr 은 각각 전통적으로 일반적인 출력결과 및 에러 메시지에 각각 사용되어 왔습니다. 이것들은 일반적으로 같은 장소에 저장되지만, 일반적인 출력결과는 sink 를 이용하여 다른 디렉터리에 저장할 수 있습니다. 에러 메시지도 sink, type= message 의 방법으로 다른 디렉터리를 지정하지 않는 한 stderr 에 저장됩니다. 여기서 사용된 말의 의미에 주의하십시오. connection 은 디렉터리를 다른 곳으로 지정할 수 없지만, 출력결과는 다른 connection 에 저장될 수 있습니다. text connection 은 입력을 할 수 있는 또 다른 방법으로 사용됩니다. text connection 들은 마치 text 파일에서 line 들이 읽히는 것처럼 R 문자 벡터가 읽히도록 해 줍니다. text connection 은 textconnection 을 호출(call)해서 생성되고 열립니다. 그리고 text connection 은 생성과 동시에 문자 벡터의 현재 내용을 내부버퍼(internal buffer)에 복사합니다. text connection 은 R 의 출력결과를 문자 벡터로 인식하는 데에도 사용될 수 있습니다. textconnection 은 사용자의 작업공간(user s workspace)에서 새로운 문자 object 를 생성하거나 현재 존재하고 있는 것에 추가하는 두 가지 경우 모두에 사용될 수 있습니다. 이 connection 은 textconnection 의 호출(call)에 의하여 열리고, connection 에 있는 완전한 행 출력결과(complete lines output)는 항상 R object 에서 사용가능 합니다. 이 connection 을 닫는 것은 남아있는 어떤 출력결과를 문자벡터의 마지막 요소로 기록합니다. Pipes 는 다른 과정(another process)과 연결시켜주는 특별한 형태의 파일 중의 하나이며, pipe connection 은 pipe 함수에 의해 생성됩니다. 쓰기(writing)를 위한 pipe connection 의 개시(opening)는 어떤 OS 명령을 실행(pipe 에 추가하는 것은 아닙니다)하고, 그것의 표준적 입력을 모든 R 이라도 그 connection 에 쓰는 것과 연결시켜 줍니다. 반대로 말하면, 입력을 위한 pipe connection 의 개시는 어떤 OS 명령을 실행하고 그것의 표준 출력결과를 그 connection 으로부터 R 의 입력으로 사용할 수 있게 합니다. ftp://, 그리고 file:// 과 같은 유형의 URL 들은 url 함수를 사용함으로써 읽혀질 수 있습니다. 편의를 위해 파일을 지정함으로써 file 또한 ftp://, 그리고 file:// 을 인식하고 url 을 불러옵니다. Socket 은 Berkeley 와 같은 socket 을 지원하는 platform(대부분 Unix, Linux 그리고 Windows)에서 socketconnection 함수를 통해 connection 들처럼 사용될 수 있습니다. Socket 은

27 client 와 server socket 들이 사용될 수 있으며 이들 client 와 server socket 에 쓰거나 이들로부터 읽어 들일 수 있습니다. 6.2 Output to connections 지금까지 파일에 쓰기(writing)의 방법으로 함수 cat, write, write.table 그리고 sink, 파일에 붙여넣기(appending)의 방법으로 인수(argument) append=true 에 대하여 설명하였습니다. 이것은 R 이전 버전에서 작동합니다. 현재의 방법도 동일하지만, 실제로 일어나는 것은 file 인수(argument)가 문자열(a character string)일 때, 파일 connection 이 열리고 함수의 호출이 끝날 때 다시 닫힙니다. 만약 우리가 반복적으로 같은 파일을 쓰고 싶다면, 그 connection 을 명백히 선언(declare)하여 열고 각 output 함수를 호출하는 connection object 를 건너뛰는 방법이 효율적입니다. 이것은 또 pipe 에 쓰는 것을 가능하게 합니다. 지금도 여전히 가능하지만 이것은 전에는 syntax file= cmd 를 이용한 제한된 방법으로만 사용할 수 있었습니다. 어떤 connection 에 완전한 텍스트 line 을 쓰는 writelinesfk 라는 함수가 있습니다. 간단한 예는 아래와 같습니다. zz <- file("ex.data", "w") # open an output file connection cat("title extra line", " ", "", " ", file = zz, sep = "\n") cat("one more line\n", file = zz) close(zz) ## convert decimal point to comma in output, using a pipe (Unix) ## both R strings and (probably) the shell need \ doubled zz <- pipe(paste("sed s/\\\\./,/ >", "outfile"), "w") cat(format(round(rnorm(100), 4)), sep = "\n", file = zz) close(zz) ## now look at the output file: file.show("outfile", delete.file = TRUE) ## capture R output: use examples from help(lm) zz <- textconnection("ex.lm.out", "w") sink(zz) example(lm, prompt.echo = "> ") sink() close(zz) ## now ex.lm.out contains the output for futher processing. ## Look at it by, e.g., cat(ex.lm.out, sep = "\n")

28 6.3 Input from connections connection 으로부터 읽는 기본적 함수는 scan 과 readlines 입니다. 이것들은 문자열(character string) 인수(argument)를 취하고 함수의 지속을 위해 파일 connection 을 엽니다. 그러나 분명한 파일 connection 의 열기(opening)는 다른 format 에서 연속적으로 파일 읽기를 가능하게 해줍니다. scan 을 호출하는 다른 함수들 또한 connection 을 사용할 수 있습니다. 특히 read.table 이 그렇습니다. 간단한 예는 아래와 같습니다. ## read in file created in last examples readlines("ex.data") unlink("ex.data") ## read listing of current directory (Unix) readlines(pipe("ls -1")) # remove trailing commas from an input file. # Suppose we are given a file data containing 450, 390, 467, 654, 30, 542, 334, 432, 421, 357, 497, 493, 550, 549, 467, 575, 578, 342, 446, 547, 534, 495, 979, 479 # Then read this by scan(pipe("sed -e s/,$// data"), sep=",") 편의를 위해, 만약 file 인수(argument)가 어떤 FTP 나 HTTP URL 을 특정한다면, 그 URL 은 읽기(reading)를 위해 url 을 통해 열립니다. file://foo.bar 를 통해 파일을 특정하는 것도 허용됩니다 Pushback C 프로그래머들은 텍스트 입력 stream 에 어떤 문자를 뒤로 밀리게 하는 ungetc 에 익숙할 것입니다. R connection 은 더 강력한 방법으로 같은 작업을 할 수 있는데, pushback 의 호출을 통하여 connection 에 임의의 수만큼 텍스트 line 을 뒤로 밀리게 할 수 있습니다. Pushback 은 stack 처럼 동작해서, 첫 번째 읽기 요구는 가장 최근에 pushback 된 text 에서 각 line 을 이용하고, 그 다음엔 이전의 pushback 된 text, 마지막으로 connection 자체로부터 읽어 들입니다. 한 번 pushback 된 line 은 완벽히 읽어나서 지워집니다. push back 되고 있는 line 의 수는 pushbacklength 을 호출하여 알 수 있습니다. 간단한 예는 아래와 같습니다. > zz <- textconnection(letters) > readlines(zz, 2) [1] "A" "B"

29 > scan(zz, "", 4) Read 4 items [1] "C" "D" "E" "F" > pushback(c("aa", "bb"), zz) > scan(zz, "", 4) Read 4 items [1] "aa" "bb" "G" "H" > close(zz) Pushback 은 텍스트 모드에서 입력 할 때 connection 이 열려있을 경우에만 사용가능 합니다. 6.4 Listing and manipulating connections User 에 의해 현재 열려있는 모든 connection 의 개요는 showconnections( )로 알아낼 수 있고, 닫혀 있는 connection 과 terminal connection 등을 포함한 모든 connection 의 개요는 showconnections(all=true)로 알 수 있습니다. 일반적 함수인 seek 은 읽기에 사용될 수 있으며 (어떤 connection 에서는) 읽기 또는 쓰기와 같은 현재의 position 을 reset 할 수 있습니다. 그런데 이것은 불행하게도 신뢰하기 어려울 수 있는 OS facility 에 따라 달라집니다(예를 들어, Windows 환경에서의 text 파일). 함수 isseekable 은 함수 seek 이 position 바꿀 수 있는 지를 보고해 줍니다. 함수 truncate 는 현재의 position 에서 읽기나 쓰기를 위해 열려있는 파일을 truncate 하는데 사용될 수 있습니다. 이것은 오로지 file connection 에 대해서만 작동하고, 역시 모든 platform 에서 적용되지는 않습니다. 6.5 Binary connections readbin 과 writebin 은 binary connection 에서 읽거나 쓰는데 사용됩니다. binary 모드에서 b 를 모드 specification 에 덧붙임으로써 connection 이 열립니다. 즉 모드 rb 는 읽기에 그리고 모드 wb 또는 ab 는 쓰기에 사용합니다. 이 함수들은 다음과 같은 인수(argument)를 가집니다. readbin(con, what, n = 1, size = NA, endian =.Platform$endian) writebin(object, con, size = NA, endian =.Platform$endian) 각각의 경우에 con 은 호출이 유지되는데 필요한 경우 열려 있으며 문자열이 주어지면, 파일명을 지정하는 것으로 가정됩니다. 쓰기(writing)를 묘사하는 것은 조금 더 단순하여서 우리는 먼저 그것을 설명할 것입니다. object 는 atomic vector object 로 attributes 가 없는 numeric, integer, character, complex 또는 raw 와

30 같은 mode 의 vector 입니다. 디폴트 상태에서 이것은 memory 에 나타나는 것과 똑같이 바이트의 흐름처럼 파일에 쓰여집니다. readbin 은 파일로부터 바이트의 흐름을 읽고 그것을 what 으로 주어진 mode 의 vector 처럼 해석합니다. 이것은 적절한 mode 의 object(예를 들어, what=integer( ))나 또는 그 mode 를 묘사하는 문자열(character string)이 될 수 있습니다(앞의 문단에서 말한 다섯 가지 중 하나 또는 double 또는 int ). 인수(argument) n 은 connection 으로 부터 읽기 위기 위한 벡터 요소의 최대 수를 지정합니다. 즉, 보다 적은 수가 가능하면 더 짧은 벡터가 만들어 집니다. 인수(argument) signed 는 1 바이트와 2 바이트의 정수가 default 인 기호화된 정수 또는 기호화되지 않은 정수처럼 읽혀지게 합니다. 남아있는 두 인수(argument)는 데이터를 다른 프로그램이나 다른 플랫폼으로 대체시켜 쓰거나 읽는데 사용됩니다. 디폴트 상태의 바이너리 데이터(binary data)는 직접 메모리에서 connection 으로 또는 그 반대로 옮겨 집니다. 이것은 특정 파일이 다른 구조로 특정 장치(machine)로 옮겨져야 한다면 충분치 않을 것이나 거의 모든 R 플랫폼들 사이에서는 단지 바이트 순서(byte-order)만 변화시켜주면 됩니다. 일반적인 PC( ix86 과 x86_64 기반)들과 Compaq Alpha 그리고 Vaxen 은 little-endian 구조인데 반해, Sun Sparc, mc680x0 시리즈, IBM R6000, Apple Macintosh, SGI 등의 다른 대부분의 장치들은 big-endian 구조 입니다(네트워크 바이트 순서(network byte-order)는 XDR(eXternal Data Representation)에서 사용되는 것과 같이 bigendian 입니다.) 예를 들어 16 비트로 된 정수나 단정밀도(single-precision; 단정도 또는 단밀도) 실수를 쓰는 경우와 같이 다른 프로그램으로 전송하거나 받아오기 위해서 우리는 조금 더 작업을 할 필요가 있을 지도 모릅니다. 이것은 size 인수(argument)를 이용함으로써 해결할 수 있는데, size 인수(argument)는 정수와 논리자(logical)의 크기를 1, 2, 4, 8 또는 4, 8 그리고 또는 실수를 12 나 16 으로 정할 수 있게 합니다. 다른 크기로 전환하는 것은 정확성을 잃을 수 있으므로 결측값(NA: not available)들을 포함하고 있는 벡터에 대해서는 사용하지 말아야 합니다. 문자열은 C 포맷에서 읽히거나 쓰여집니다. 그것은 바이트 열(string of bytes)처럼 영(0) 바이트에 의해 종료됩니다. 함수 readchar 와 writechar 는 보다 더 유연하게 사용할 수 있습니다(Character strings are read and written in C format, that is as a string of bytes terminated by a zero byte. Functions readchar and writechar provide greater flexibility.) Special values 크기 변화가 관련되어 있다면 시도되지 말아야 하더라도 함수 readbin 과 writebin 은 결측값(missing values)과 특이값(special values)을 처리해 줍니다. R 에서 논리 유형(logical type)과 정수 유형(integer type)의 경우 결측값(missing values)은 limits.h 로 C 의 헤더로 정의된 나타낼 수 있는 가장 작은 int 인 INT_MIN 인데 이것은 보통 비트 패턴(the bit pattern) 0x 에 대응하는 것 입니다.

31 R 에서 숫자와 복합적인 형태의 특이값(special values)의 표현은 사용하는 컴퓨터(machine)나 컴파일러(Compiler: BASIC, COBOL, PASCAL 등의 프로그래밍 언어를 기계어로 번역하는 프로그램)에 따라 달라집니다(The representation of the special values for R numeric and complex types is machine-dependent, and possibly also compiler-dependent.) 그것들을 이용하는 가장 단순한 방법은 이중상수(double constants)인 NA_REAL, R_PosInf 그리고 R_NegInf 를 내보내고 ISNAN 과 R_FINITE 과 같은 매크로를 정의하는 Rmath.h 헤더를 포함하는 독립적인 Rmath 라이브러리 외부의 어플리케이션(application; 응용프로그램?)(an external application)과 연결시키는 것 입니다. 만약 이와 같은 작업이 불가능하면 산술(arithmetic)이 사용되는 모든 보통의 IEC (aka IEEE 754) 플랫폼에서, Inf, -Inf 그리고 NaN 값들을 테스트하거나 설정하는데 표준적인 C 도구(facility)를 사용할 수 있습니다. 그러한 플랫폼에서 NA 는 low-word 0x7a2(1954 in decimal)에따라 NaN 값으로 표시됩니다. 문자결측값들은 NA 처럼 사용되며, 결측값으로 문자 값을 인식할 수 있는 규칙(provision)은 없습니다(이것은 마치 한 번 읽고 다시 그것들을 재할당함으로써 완성되는 것과 같습니다). 7. Network interfaces 몇 가지 제한된 도구들이 network connection 을 통해 낮은 수준의 데이터를 교환하는데 사용될 수 있습니다. 7.1 Reading from sockets 기본적인 R 프로그램은 그것들을 지원(보통의 Linux, Unix, 그리고 R 의 Windows 포트(port)를 포함)하는 시스템에서 BSD 소켓(sockets)을 통한 커뮤니케이션을 위한 몇 가지 장치(facility)에 연결되어 있습니다. 이러한 소켓들(sockets)을 사용하면서 잠재적으로 발생할 수 있는 문제점 하나는 이러한 장치들이 종종 보안상의 문제로 차단되거나 Web caches 의 사용이 강요된다는 것입니다. 그래서 이러한 함수들은 외면상(externally) 보다는 인터넷에서 더욱 유용할 수 있습니다. 초기 낮은 수준의 인터페이스(interface)는 함수 make.socket, read.socket, write.socket, and close.socket 으로 주어졌습니다. 7.2 Using download.file 함수 download.file 은 FTP 나 HTTP 를 통한 Web 기반 자원(resource)에서 파일을 읽거나 파일에 쓰기를 위해 제공됩니다. 종종 이것은 read.table 과 같은 함수들과 같이 피할 수 있고, scan 은 명백히 connection 을 열기 위해서 url 을 사용하거나 file 인수(argument)로서 URL 을 부여함으로써 특정 URL 로부터 직접 읽기를 할 수 있게 합니다. 7.3 DCOM interface

32 DCOM 은 서로 다른 프로그램들-또는 장치들(machines)-간의 커뮤니케이팅(communicatin g)을 위한 Windows 프로토콜입니다. CRAN 의 Software->Other->Non-standard 목록에 있는 Thomas Baier 의 StatConnector 프로그램은 패키지 rscproxy 에 있는 프록시 DLL 에 대한 인터페이스를 제공하고 DCOM 서버를 만듭니다. 이것은 vector 와 matrix 와 같은 단순한 대상을 통과하고 R 로부터 그리고 R 로 명령을 보내는데 사용될 수 있습니다(이것은 아직 작용하는지는 분명치 않습니다. 다른 버전의 RExcelInstaller 패키지가 있습니다). 이 프로그램은 by Erich Neuwirth available 비쥬얼 베이직 증명(demonstration)과 Excel 플러그인(plug-in)을 수반합니다. 이 인터페이스는 여기에서 다룬 인터페이스의 대부분에 대해 다른 어플리케이션(application; 응용프로그램?)들은 클라이언트로서 그리고 R 은 서버로서 다른 방향(direction)에 있습니다. 다른 (D)/COM 서버는 애 있고 그것은 R 대상(objects)을 COM 값으로 내보낼 수 있도록 해줍니다. 그 사이트는 또한 패키지 RDCOMClient 와 SWinTypeLibs 를 가지고 있는데 그것은 R 이 (D)COM 처럼 작동하게 해줍니다. 7.4 CORBA interface CORBA(Common Object Request Broker Architecture)는 어플리케이션(application; 응용프로그램?)이 잠재적으로 다른 언어와 다른 장치에서 작동중인 프로그램되어 다른 어플리케이션(application; 응용프로그램?)들에서 작동중인 서버 대상(server objects)에서 방법 또는 오퍼레이션들(?)을 불러들일 수 있게 한다는 점에서 DCOM 과 비슷합니다. 패키지 CORBA 는 Omegahat project( BA/)에서 얻을 수 있으며, 현재 Unix 버전이 제공되고 있습니다. Windows 버전은 제공되고 있지 않지만 앞으로 개발할 것으로 보입니다. 이 패키지는 R 명령어들이 사용 가능한 CORBA 서버에 접속하고, 그것들이 제공하는 방법들(methods)에 대해 질문(query)하고, 그리고 동적으로(dynamically) 이런 대상들에 대한 방법을 불러 들입니다(invoke). 이러한 불러오기(calls)에서 인수로 주어진 R 값들은 불러오기(the call)에서 내보내어지고 오퍼레이션(?) 불러오기(invocation: 조회?)를 가능하게 만들어 줍니다. 원시 데이터 유형(vector 와 list)은 디폴트 형태로 내보내기 됩니다. 반면, 더욱 복잡한 형태의 대상은 참조(reference)에 따라 내보내기 됩니다. 이것의 사용사례는 Gnumeric( 스프레드시트(spreadsheet)와의 커뮤니케이팅과 데이터 시각화 시스템 ggobi 와의 상호작용을 포함합니다. 또한 누구든지 다른 어플리케이션들이 이런 방법을 요구하도록 함으로써 R 에서 CORBA 서버를 생성할 수 있습니다. 예를 들어, 누군가 특정 데이터세트(dataset) 또는 어떤 R 모델링 소프트웨어 접근을 신청할 수 있습니다. 이것은 R 데이터 대상과 함수를 결합함으로써 동적으로 이루어집니다. 이것은 누구든지 명백하게 데이터와 R 로부터의 기능성(functionality from R)을 내보낼 수 있게 합니다.

33 누구든지 R 에서 computing 하는 것과 동일(parallel)하게 배포할 수 있도록 CORBA 패키지를 이용할 수 있습니다. 어느 R 세션은 마치 매니저처럼 행동하기도 하고 다른 R 작업자(worker) 세션에서 작동하는 다른 서버에 대해 일을 처리할 수 있습니다. 이것은 R 에서 비동기(asynchronous) 또는 background CORBA call 을 부르는 능력을 사용합니다. 이것에 대한 더 자세한 정보는 Omegahat project( 얻을 수 있습니다. 8. Reading Excel spreadsheets 가장 일반적인 R 데이터 불러오기/내보내기 질문은 어떻게 엑셀에서 데이터를 가져오지?'하는 것입니다. 이 장은 도움마라과 앞서 설명한 옵션을 함께 모아둔 것입니다. 도움말의 대부분이 엑셀 2007 이전의 스프레드시트를 위한 것임에 유의하십시오. 현재.xlsx 포맷의 파일을 읽는 유일한 방법은 RODBC 를 통하는 것입니다.

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

View Licenses and Services (customer)

View Licenses and Services (customer) 빠른 빠른 시작: 시작: 라이선스, 라이선스, 서비스 서비스 및 주문 주문 이력 이력 보기 보기 고객 가이드 Microsoft 비즈니스 센터의 라이선스, 서비스 및 혜택 섹션을 통해 라이선스, 온라인 서비스, 구매 기록 (주문 기록)을 볼 수 있습니다. 시작하려면, 비즈니스 센터에 로그인하여 상단 메뉴에서 재고를 선택한 후 내 재고 관리를 선택하십시오. 목차

More information

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상 Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는

More information

untitled

untitled PowerBuilder 連 Microsoft SQL Server database PB10.0 PB9.0 若 Microsoft SQL Server 料 database Profile MSS 料 (Microsoft SQL Server database interface) 行了 PB10.0 了 Sybase 不 Microsoft 料 了 SQL Server 料 PB10.0

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

1217 WebTrafMon II

1217 WebTrafMon II (1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

Tcl의 문법

Tcl의 문법 월, 01/28/2008-20:50 admin 은 상당히 단순하고, 커맨드의 인자를 스페이스(공백)로 단락을 짓고 나열하는 정도입니다. command arg1 arg2 arg3... 한행에 여러개의 커맨드를 나열할때는, 세미콜론( ; )으로 구분을 짓습니다. command arg1 arg2 arg3... ; command arg1 arg2 arg3... 한행이

More information

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집 Modern Modern www.office.com ( ) 892 5 : 1577-9700 : http://www.microsoft.com/korea Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와

More information

DocsPin_Korean.pages

DocsPin_Korean.pages Unity Localize Script Service, Page 1 Unity Localize Script Service Introduction Application Game. Unity. Google Drive Unity.. Application Game. -? ( ) -? -?.. 준비사항 Google Drive. Google Drive.,.. - Google

More information

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

Chap7.PDF

Chap7.PDF Chapter 7 The SUN Intranet Data Warehouse: Architecture and Tools All rights reserved 1 Intranet Data Warehouse : Distributed Networking Computing Peer-to-peer Peer-to-peer:,. C/S Microsoft ActiveX DCOM(Distributed

More information

IRISCard Anywhere 5

IRISCard Anywhere 5 이 빠른 사용자 가이드는 IRISCard Anywhere 5 및 IRISCard Corporate 5 스캐너의 설치와 시작을 도와 드립니다. 이 스캐너와 함께 제공되는 소프트웨어는: - Cardiris Pro 5 및 Cardiris Corporate 5 for CRM (Windows 용) - Cardiris Pro 4 (Mac OS 용) Cardiris 의

More information

PowerPoint Presentation

PowerPoint Presentation FORENSICINSIGHT SEMINAR SQLite Recovery zurum herosdfrc@google.co.kr Contents 1. SQLite! 2. SQLite 구조 3. 레코드의삭제 4. 삭제된영역추적 5. 레코드복원기법 forensicinsight.org Page 2 / 22 SQLite! - What is.. - and why? forensicinsight.org

More information

PCServerMgmt7

PCServerMgmt7 Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network

More information

RHEV 2.2 인증서 만료 확인 및 갱신

RHEV 2.2 인증서 만료 확인 및 갱신 2018/09/28 03:56 1/2 목차... 1 인증서 확인... 1 인증서 종류와 확인... 4 RHEVM CA... 5 FQDN 개인 인증서... 5 레드햇 인증서 - 코드 서명 인증서... 6 호스트 인증... 7 참고사항... 8 관련링크... 8 AllThatLinux! - http://allthatlinux.com/dokuwiki/ rhev_2.2_

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

Microsoft Word - windows server 2003 수동설치_non pro support_.doc Windows Server 2003 수동 설치 가이드 INDEX 운영체제 설치 준비과정 1 드라이버를 위한 플로피 디스크 작성 2 드라이버를 위한 USB 메모리 작성 7 운영체제 설치 과정 14 Boot Sequence 변경 14 컨트롤러 드라이버 수동 설치 15 운영체제 설치 17 운영체제 설치 준비 과정 Windows Server 2003 에는 기본적으로

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

Orcad Capture 9.x

Orcad Capture 9.x OrCAD Capture Workbook (Ver 10.xx) 0 Capture 1 2 3 Capture for window 4.opj ( OrCAD Project file) Design file Programe link file..dsn (OrCAD Design file) Design file..olb (OrCAD Library file) file..upd

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아 LG U+ SMS/MMS 통합클라이언트 LG U+ SMS/MMS Client Simple Install Manual LG U+ SMS/MMS 통합클라이언트 - 1 - 간단설치매뉴얼 1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml

More information

MySQL-Ch10

MySQL-Ch10 10 Chapter.,,.,, MySQL. MySQL mysqld MySQL.,. MySQL. MySQL....,.,..,,.,. UNIX, MySQL. mysqladm mysqlgrp. MySQL 608 MySQL(2/e) Chapter 10 MySQL. 10.1 (,, ). UNIX MySQL, /usr/local/mysql/var, /usr/local/mysql/data,

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

Intra_DW_Ch4.PDF

Intra_DW_Ch4.PDF The Intranet Data Warehouse Richard Tanler Ch4 : Online Analytic Processing: From Data To Information 2000. 4. 14 All rights reserved OLAP OLAP OLAP OLAP OLAP OLAP is a label, rather than a technology

More information

FileMaker ODBC 및 JDBC 가이드

FileMaker ODBC 및 JDBC 가이드 FileMaker ODBC JDBC 2004-2019 FileMaker, Inc.. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker, FileMaker Cloud, FileMaker Go FileMaker, Inc.. FileMaker WebDirect FileMaker,

More information

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num %d\n", num); return 0; } 1 학습목표 의 개념에 대해 알아본다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Reasons for Poor Performance Programs 60% Design 20% System 2.5% Database 17.5% Source: ORACLE Performance Tuning 1 SMS TOOL DBA Monitoring TOOL Administration TOOL Performance Insight Backup SQL TUNING

More information

FileMaker 15 ODBC 및 JDBC 설명서

FileMaker 15 ODBC 및 JDBC 설명서 FileMaker 15 ODBC JDBC 2004-2016 FileMaker, Inc.. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc.. FileMaker WebDirect FileMaker, Inc... FileMaker.

More information

SIGIL 완벽입문

SIGIL 완벽입문 누구나 만드는 전자책 SIGIL 을 이용해 전자책을 만들기 EPUB 전자책이 가지는 단점 EPUB이라는 포맷과 제일 많이 비교되는 포맷은 PDF라는 포맷 입니다. EPUB이 나오기 전까지 전 세계에서 가장 많이 사용되던 전자책 포맷이고, 아직도 많이 사 용되기 때문이기도 한며, 또한 PDF는 종이책 출력을 위해서도 사용되기 때문에 종이책 VS

More information

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN

More information

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리 ArcGIS for Desktop 10.4 Single Use 설치가이드 Software: ArcGIS for Desktop 10.4 Platforms: Windows 10, 8.1, 7, Server 2012, Server 2008 ArcGIS for Desktop 10.4 시스템 요구사항 1. 지원 플랫폼 운영체제 최소 OS 버전 최대 OS 버전 Windows

More information

SRC PLUS 제어기 MANUAL

SRC PLUS 제어기 MANUAL ,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO

More information

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) 8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) - DDL(Data Definition Language) : show, create, drop

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

TTA Journal No.157_서체변경.indd

TTA Journal No.157_서체변경.indd 표준 시험인증 기술 동향 FIDO(Fast IDentity Online) 생체 인증 기술 표준화 동향 이동기 TTA 모바일응용서비스 프로젝트그룹(PG910) 의장 SK텔레콤 NIC 담당 매니저 76 l 2015 01/02 PASSWORDLESS EXPERIENCE (UAF standards) ONLINE AUTH REQUEST LOCAL DEVICE AUTH

More information

1

1 04단원 컴퓨터 소프트웨어 1. 프로그래밍 언어 2. 시스템 소프트웨어 1/10 1. 프로그래밍 언어 1) 프로그래밍 언어 구분 각종 프로그래밍 언어에 대해 알아보는 시간을 갖도록 하겠습니다. 우리가 흔히 접하는 소프트웨어 들은 프로그래밍 언어로 만들어지는데, 프로그래밍 언어는 크게 2가지로 나눌 수 있습니다. 1 저급어 : 0과 1로 구성되어 있어, 컴퓨터가

More information

USER GUIDE

USER GUIDE Solution Package Volume II DATABASE MIGRATION 2010. 1. 9. U.Tu System 1 U.Tu System SeeMAGMA SYSTEM 차 례 1. INPUT & OUTPUT DATABASE LAYOUT...2 2. IPO 중 VB DATA DEFINE 자동작성...4 3. DATABASE UNLOAD...6 4.

More information

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일 Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae

More information

<49534F20323030303020C0CEC1F520BBE7C8C4BDC9BBE720C4C1BCB3C6C320B9D7204954534D20BDC3BDBAC5DB20B0EDB5B5C8AD20C1A6BEC8BFE4C3BBBCAD2E687770>

<49534F20323030303020C0CEC1F520BBE7C8C4BDC9BBE720C4C1BCB3C6C320B9D7204954534D20BDC3BDBAC5DB20B0EDB5B5C8AD20C1A6BEC8BFE4C3BBBCAD2E687770> ISO 20000 인증 사후심사 컨설팅 및 ITSM 시스템 고도화를 위한 제 안 요 청 서 2008. 6. 한 국 학 술 진 흥 재 단 이 자료는 한국학술진흥재단 제안서 작성이외의 목적으로 복제, 전달 및 사용을 금함 목 차 Ⅰ. 사업개요 1 1. 사업명 1 2. 추진배경 1 3. 목적 1 4. 사업내용 2 5. 기대효과 2 Ⅱ. 사업추진계획 4 1. 추진체계

More information

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint - chap13-입출력라이브러리.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,

More information

HTML5가 웹 환경에 미치는 영향 고 있어 웹 플랫폼 환경과는 차이가 있다. HTML5는 기존 HTML 기반 웹 브라우저와의 호환성을 유지하면서도, 구조적인 마크업(mark-up) 및 편리한 웹 폼(web form) 기능을 제공하고, 리치웹 애플리케이 션(RIA)을

HTML5가 웹 환경에 미치는 영향 고 있어 웹 플랫폼 환경과는 차이가 있다. HTML5는 기존 HTML 기반 웹 브라우저와의 호환성을 유지하면서도, 구조적인 마크업(mark-up) 및 편리한 웹 폼(web form) 기능을 제공하고, 리치웹 애플리케이 션(RIA)을 동 향 제 23 권 5호 통권 504호 HTML5가 웹 환경에 미치는 영향 이 은 민 * 16) 1. 개 요 구글(Google)은 2010년 5월 구글 I/O 개발자 컨퍼런스에서 HTML5를 통해 플러 그인의 사용이 줄어들고 프로그램 다운로드 및 설치가 필요 없는 브라우저 기반 웹 플랫폼 환경이 점차 구현되고 있다고 강조했다. 그리고 애플(Apple)은 2010년

More information

초보자를 위한 C++

초보자를 위한 C++ C++. 24,,,,, C++ C++.,..,., ( ). /. ( 4 ) ( ).. C++., C++ C++. C++., 24 C++. C? C++ C C, C++ (Stroustrup) C++, C C++. C. C 24.,. C. C+ +?. X C++.. COBOL COBOL COBOL., C++. Java C# C++, C++. C++. Java C#

More information

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap04-연산자.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에

More information

강의10

강의10 Computer Programming gdb and awk 12 th Lecture 김현철컴퓨터공학부서울대학교 순서 C Compiler and Linker 보충 Static vs Shared Libraries ( 계속 ) gdb awk Q&A Shared vs Static Libraries ( 계속 ) Advantage of Using Libraries Reduced

More information

초보자를 위한 ADO 21일 완성

초보자를 위한 ADO 21일 완성 ADO 21, 21 Sams Teach Yourself ADO 2.5 in 21 Days., 21., 2 1 ADO., ADO.? ADO 21 (VB, VBA, VB ), ADO. 3 (Week). 1, 2, COM+ 3.. HTML,. 3 (week), ADO. 24 1 - ADO OLE DB SQL, UDA(Universal Data Access) ADO.,,

More information

슬라이드 1

슬라이드 1 / 유닉스시스템개요 / 파일 / 프로세스 01 File Descriptor file file descriptor file type unix 에서의파일은단지바이트들의나열임 operating system 은파일에어떤포맷도부과하지않음 파일의내용은바이트단위로주소를줄수있음 file descriptor 는 0 이나양수임 file 은 open 이나 creat 로 file

More information

Observational Determinism for Concurrent Program Security

Observational Determinism for  Concurrent Program Security 웹응용프로그램보안취약성 분석기구현 소프트웨어무결점센터 Workshop 2010. 8. 25 한국항공대학교, 안준선 1 소개 관련연구 Outline Input Validation Vulnerability 연구내용 Abstract Domain for Input Validation Implementation of Vulnerability Analyzer 기존연구

More information

Solaris Express Developer Edition

Solaris Express Developer Edition Solaris Express Developer Edition : 2008 1 Solaris TM Express Developer Edition Solaris OS. Sun / Solaris, Java, Web 2.0,,. Developer Solaris Express Developer Edition System Requirements. 768MB. SPARC

More information

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date

More information

목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy... 6 2.2 Compare... 6 2.3 Copy & Compare... 6 2.4 Erase... 6 2

목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy... 6 2.2 Compare... 6 2.3 Copy & Compare... 6 2.4 Erase... 6 2 유영테크닉스( 주) 사용자 설명서 HDD014/034 IDE & SATA Hard Drive Duplicator 유 영 테 크 닉 스 ( 주) (032)670-7880 www.yooyoung-tech.com 목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy...

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

10.ppt

10.ppt : SQL. SQL Plus. JDBC. SQL >> SQL create table : CREATE TABLE ( ( ), ( ),.. ) SQL >> SQL create table : id username dept birth email id username dept birth email CREATE TABLE member ( id NUMBER NOT NULL

More information

Windows Server 2012

Windows Server  2012 Windows Server 2012 Shared Nothing Live Migration Shared Nothing Live Migration 은 SMB Live Migration 방식과다른점은 VM 데이터파일의위치입니다. Shared Nothing Live Migration 방식은 Hyper-V 호스트의로컬디스크에 VM 데이터파일이위치합니다. 반면에, SMB

More information

User Guide

User Guide HP ThinUpdate 관리자 설명서 Copyright 2016 HP Development Company, L.P. Windows는 미국 및/또는 기타 국가에서 Microsoft Corporation의 등록 상표 또는 상표입 니다. 기밀 컴퓨터 소프트웨어. 소유, 사용 또는 복사 에 필요한 유효한 사용권을 HP로부터 취득했 습니다. FAR 12.211 및

More information

The_IDA_Pro_Book

The_IDA_Pro_Book The IDA Pro Book Hacking Group OVERTIME force (forceteam01@gmail.com) GETTING STARTED WITH IDA IDA New : Go : IDA Previous : IDA File File -> Open Processor type : Loading Segment and Loading Offset x86

More information

제목 레이아웃

제목 레이아웃 웹해킹이라고무시하는것들보소 2017.07.10 RUBIYA805[AT]GMAIL[DOT]COM SQL Injection 끝나지않은위협 2017.07.10 RUBIYA805[AT]GMAIL[DOT]COM Who am I 정도원 aka rubiya Penetration tester Web application bughuter Pwned 20+ wargame @kr_rubiya

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

ActFax 4.31 Local Privilege Escalation Exploit

ActFax 4.31 Local Privilege Escalation Exploit NSHC 2013. 05. 23 악성코드 분석 보고서 [ Ransomware 악성코드 ] 사용자의 컴퓨터를 강제로 잠그고 돈을 요구하는 형태의 공격이 기승을 부리고 있 습니다. 이러한 형태의 공격에 이용되는 악성코드는 Ransomware로 불리는 악성코 드 입니다. 한번 감염 시 치료절차가 복잡하며, 보고서 작성 시점을 기준으로 지속 적인 피해자가 발생되고

More information

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

PathEye 공식 블로그 다운로드 받으세요!!   지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye Mobile Ver. 0.71b 2009. 3. 17 By PathEye 공식 블로그 다운로드 받으세요!! http://blog.patheye.com 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye 설치 1/3 최종 배포 버전을 다 운로드 받습니다. 다운로드된 파일은 CAB 파일입니다. CAB 파일에는

More information

IPAK 윤리강령 나는 _ 한국IT전문가협회 회원으로서 긍지와 보람을 느끼며 정보시스템 활용하 자. 나는 _동료, 단체 및 국가 나아가 인류사회에 대하여 철저한 책임 의식을 가진 다. 나는 _ 활용자에 대하여 그 편익을 증진시키는데 최선을 다한다. 나는 _ 동료에 대해

IPAK 윤리강령 나는 _ 한국IT전문가협회 회원으로서 긍지와 보람을 느끼며 정보시스템 활용하 자. 나는 _동료, 단체 및 국가 나아가 인류사회에 대하여 철저한 책임 의식을 가진 다. 나는 _ 활용자에 대하여 그 편익을 증진시키는데 최선을 다한다. 나는 _ 동료에 대해 IPAK 윤리강령 나는 _ 한국IT전문가협회 회원으로서 긍지와 보람을 느끼며 정보시스템 활용하 자. 나는 _동료, 단체 및 국가 나아가 인류사회에 대하여 철저한 책임 의식을 가진 다. 나는 _ 활용자에 대하여 그 편익을 증진시키는데 최선을 다한다. 나는 _ 동료에 대해서 도의와 성실과 지식을 바탕으로 서로 우애하고 경애한다. 나는 _ 단체와 국가에 대해서 그

More information

요약 1

요약 1 Globalization Support Guide Using Oracle and Java Version 1.0 www.sds-epartner.com 2003.03 목차 요약 1. 해결과제 2. Multilingual Database 3. Multilingual Web Application 4. Multiple Time Zone 5. Multiple Currency

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

chapter4

chapter4 Basic Netw rk 1. ก ก ก 2. 3. ก ก 4. ก 2 1. 2. 3. 4. ก 5. ก 6. ก ก 7. ก 3 ก ก ก ก (Mainframe) ก ก ก ก (Terminal) ก ก ก ก ก ก ก ก 4 ก (Dumb Terminal) ก ก ก ก Mainframe ก CPU ก ก ก ก 5 ก ก ก ก ก ก ก ก ก ก

More information

인켈(국문)pdf.pdf

인켈(국문)pdf.pdf M F - 2 5 0 Portable Digital Music Player FM PRESET STEREOMONO FM FM FM FM EQ PC Install Disc MP3/FM Program U S B P C Firmware Upgrade General Repeat Mode FM Band Sleep Time Power Off Time Resume Load

More information

<C6F7C6AEB6F5B1B3C0E72E687770>

<C6F7C6AEB6F5B1B3C0E72E687770> 1-1. 포트란 언어의 역사 1 1-2. 포트란 언어의 실행 단계 1 1-3. 문제해결의 순서 2 1-4. Overview of Fortran 2 1-5. Use of Columns in Fortran 3 1-6. INTEGER, REAL, and CHARACTER Data Types 4 1-7. Arithmetic Expressions 4 1-8. 포트란에서의

More information

TEL:02)861-1175, FAX:02)861-1176 , REAL-TIME,, ( ) CUSTOMER. CUSTOMER REAL TIME CUSTOMER D/B RF HANDY TEMINAL RF, RF (AP-3020) : LAN-S (N-1000) : LAN (TCP/IP) RF (PPT-2740) : RF (,RF ) : (CL-201)

More information

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A 예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = 1 2 3 4 5 6 7 8 9 B = 8 7 6 5 4 3 2 1 0 >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = 0 0 0 0 1 1 1 1 1 >> tf = (A==B) % A 의원소와 B 의원소가똑같은경우를찾을때 tf = 0 0 0 0 0 0 0 0 0 >> tf

More information

OPCTalk for Hitachi Ethernet 1 2. Path. DCOMwindow NT/2000 network server. Winsock update win95. . . 3 Excel CSV. Update Background Thread Client Command Queue Size Client Dynamic Scan Block Block

More information

Microsoft PowerPoint - PL_03-04.pptx

Microsoft PowerPoint - PL_03-04.pptx Copyright, 2011 H. Y. Kwak, Jeju National University. Kwak, Ho-Young http://cybertec.cheju.ac.kr Contents 1 프로그래밍 언어 소개 2 언어의 변천 3 프로그래밍 언어 설계 4 프로그래밍 언어의 구문과 구현 기법 5 6 7 컴파일러 개요 변수, 바인딩, 식 및 제어문 자료형 8

More information

Analyst Briefing

Analyst Briefing . Improve your Outlook on Email and File Management iseminar.. 1544(or 6677)-3355 800x600. iseminar Chat... Improve your Outlook on Email and File Management :, 2003 1 29.. Collaboration Suite - Key Messages

More information

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint 웹 연동 기술.pptx 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우

More information

untitled

untitled R&S Power Viewer Plus For NRP Sensor 1.... 3 2....5 3....6 4. R&S NRP...7 -.7 - PC..7 - R&S NRP-Z4...8 - R&S NRP-Z3... 8 5. Rohde & Schwarz 10 6. R&S Power Viewer Plus.. 11 6.1...12 6.2....13 - File Menu...

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이타베이스 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2013.05.15. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

1

1 1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2

More information

빅데이터분산컴퓨팅-5-수정

빅데이터분산컴퓨팅-5-수정 Apache Hive 빅데이터분산컴퓨팅 박영택 Apache Hive 개요 Apache Hive 는 MapReduce 기반의 High-level abstraction HiveQL은 SQL-like 언어를사용 Hadoop 클러스터에서 MapReduce 잡을생성함 Facebook 에서데이터웨어하우스를위해개발되었음 현재는오픈소스인 Apache 프로젝트 Hive 유저를위한

More information

10X56_NWG_KOR.indd

10X56_NWG_KOR.indd 디지털 프로젝터 X56 네트워크 가이드 이 제품을 구입해 주셔서 감사합니다. 본 설명서는 네트워크 기능 만을 설명하기 위한 것입니다. 본 제품을 올바르게 사 용하려면 이 취급절명저와 본 제품의 다른 취급절명저를 참조하시기 바랍니다. 중요한 주의사항 이 제품을 사용하기 전에 먼저 이 제품에 대한 모든 설명서를 잘 읽어 보십시오. 읽은 뒤에는 나중에 필요할 때

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

untitled

untitled A Leader of Enterprise e-business Solution FORCS Co., LTD 1 OZ Application Getting Started 2 FORCS Co., LTD A Leader of Enterprise e-business Solution FORCS Co., LTD 3 OZ Application Getting Started 'OZ

More information

CD-RW_Advanced.PDF

CD-RW_Advanced.PDF HP CD-Writer Program User Guide - - Ver. 2.0 HP CD-RW Adaptec Easy CD Creator Copier, Direct CD. HP CD-RW,. Easy CD Creator 3.5C, Direct CD 3.0., HP. HP CD-RW TEAM ( 02-3270-0803 ) < > 1. CD...3 CD...5

More information

Vector Differential: 벡터 미분 Yonghee Lee October 17, 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표

Vector Differential: 벡터 미분 Yonghee Lee October 17, 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표 Vector Differential: 벡터 미분 Yonhee Lee October 7, 08 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표기법을 정의하는 방법이다 보통 스칼라(scalar)에 대한 미분은 일분수 함수 f : < < 또는 다변수 함수(function

More information

2015년 2월 12일 사랑의 동삭교육 제 2014-4호 (2월) 5 2015년 2월 12일 사랑의 동삭교육 제 2014-4호 (2월) 6 겨울이 되면 1-4 박지예 겨울이 되면 난 참 좋아. 겨울이 되면 귀여운 눈사람도 만들고 겨울이 되면 신나는 눈싸움도 하고 겨울이

2015년 2월 12일 사랑의 동삭교육 제 2014-4호 (2월) 5 2015년 2월 12일 사랑의 동삭교육 제 2014-4호 (2월) 6 겨울이 되면 1-4 박지예 겨울이 되면 난 참 좋아. 겨울이 되면 귀여운 눈사람도 만들고 겨울이 되면 신나는 눈싸움도 하고 겨울이 2015년 2월 12일 사랑의 동삭교육 제 2014-4호 (2월) 1 2015년 2월 12일 사랑의 동삭교육 제 2014-4호 (2월) 2 제2014년 - 4호 ( 2월 ) 펴낸이 : 안 승 렬 교장선생님 도운이 : 박 명 덕 교감선생님 편집인 : 정 경 순 선생님 Tel. (031) 618-9671 학부모회장님 글 1 2월 동삭 교육활동 1.13 신입생 예비소집

More information

Microsoft PowerPoint Python-DB

Microsoft PowerPoint Python-DB 순천향대학교컴퓨터공학과이상정 순천향대학교컴퓨터공학과 1 학습내용 데이터베이스 SQLite 데이터베이스 파이썬과데이터베이스연결 순천향대학교컴퓨터공학과 2 데이터베이스 (Database) 소개 데이터베이스 DBMS (DataBase Management System) 이라고도함 대용량의데이터를매우효율적으로처리하고저장하는기술 SQLite, 오라클, MySQL 등이있음

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 (Host) set up : Linux Backend RS-232, Ethernet, parallel(jtag) Host terminal Target terminal : monitor (Minicom) JTAG Cross compiler Boot loader Pentium Redhat 9.0 Serial port Serial cross cable Ethernet

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

<B3EDB9AEC0DBBCBAB9FD2E687770>

<B3EDB9AEC0DBBCBAB9FD2E687770> (1) 주제 의식의 원칙 논문은 주제 의식이 잘 드러나야 한다. 주제 의식은 논문을 쓰는 사람의 의도나 글의 목적 과 밀접한 관련이 있다. (2) 협력의 원칙 독자는 필자를 이해하려고 마음먹은 사람이다. 따라서 필자는 독자가 이해할 수 있는 말이 나 표현을 사용하여 독자의 노력에 협력해야 한다는 것이다. (3) 논리적 엄격성의 원칙 감정이나 독단적인 선언이

More information

단계

단계 본문서에서는 Tibero RDBMS 에서제공하는 Oracle DB Link 를위한 gateway 설치및설정방법과 Oracle DB Link 사용법을소개한다. Contents 1. TIBERO TO ORACLE DB LINK 개요... 3 1.1. GATEWAY 란... 3 1.2. ORACLE GATEWAY... 3 1.3. GATEWAY 디렉터리구조...

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper Windows Netra Blade X3-2B( Sun Netra X6270 M3 Blade) : E37790 01 2012 9 Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs,

More information

MySQL-Ch05

MySQL-Ch05 MySQL P A R T 2 Chapter 05 Chapter 06 Chapter 07 Chapter 08 05 Chapter MySQL MySQL. (, C, Perl, PHP),. 5.1 MySQL., mysqldump, mysqlimport, mysqladmin, mysql. MySQL. mysql,. SQL. MySQL... MySQL ( ). MySQL,.

More information

SMB_ICMP_UDP(huichang).PDF

SMB_ICMP_UDP(huichang).PDF SMB(Server Message Block) UDP(User Datagram Protocol) ICMP(Internet Control Message Protocol) SMB (Server Message Block) SMB? : Microsoft IBM, Intel,. Unix NFS. SMB client/server. Client server request

More information