Handling Variables

데이터 변수의 저장 모드 확인하기

> mode(x)
[1] "list"
> mode(3)
[1] "numeric"
> mode(3 > 4)
[1] "logical"

Vector

vector 관련 functions

> x <- c(a = 1, b = 2)
> x
a b
1 2
// vector 타입인지 검사
> is.vector(x)
[1] TRUE
> as.vector(x)
[1] 1 2
> length(x)
[1] 2
> typeof(x)
[1] "double"

 

Vector 생성하기

seq() 함수 이용해서 연속 벡터 구하기

1 ~ 5 까지 5개 숫자로 생성하기, step은 1

> x <- seq(1:3)

1 ~ 5 까지 0.5 단위로 숫자 생성하기

> x <- seq(1, 5, 0.5)
> x
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0

Vector에 이름 사용하기

Vector의 전체 항목 이름 지정하기

ranks 라는 vector에 순서대로 각 항목의 이름을 지정하는 방법이다.
첫 번째 데이터는 “first” 라는 이름으로, 두 번째 데이터는 “second”라는 이름으로, 세 번째 데이터는 “third”라는 이름으로 설정이 된다.

> names(ranks) <- c["first", "second", "third"]

Vector에 이름으로 접근하기

vector의 각 항목에 이름을 지정한 경우 index가 아니라 이름을 이용해 데이터에 직접 접근할 수 있다.

> ranks("first")
3

 

Vector 연산

Vector 사칙연산

vector에 숫자를 더하면(+) 각 항목에 값이 더해집니다.

> data1 <- c(1, 2, 3) > data1 + 1
[1] 2, 3, 4

vector에 숫자를 나누면(/) 각 항목의 값을 나눕니다.

> data1 <- c(2, 4, 6)
> data1 / 2
[1] 1, 2, 3

vector에 숫자를 곱하면(*) 각 항목의 값을 곱합니다.

> data1 <- c(2, 4, 6)
> data1 * 2
[1] 4, 8, 12

 

Vector 간의 사칙 연산

두 개의 vector를 더하면 각 자릿수에 맞는 숫자가 더해집니다.

> data1 <- c(2, 4, 6)
> data2 <- c(1, 2, 3)
> data1 + data2
[1] 3, 6, 9

두 개의 vector를 빼면 각 자릿수에 맞는 숫자가 빼집니다.

> data1 <- c(2, 4, 6)
> data2 <- c(1, 2, 3)
> data1 - data2
[1] 1, 2, 3

 

Vector의 비교 연산

두 개의 vector를 같은지 비교(==)하면 각 자릿수에 맞는 값을 비교하여 TRUE 혹은 FALSE를 리턴합니다.

> data1 <- c(2, 4, 6)
> data1 == c(2, 10, 6)
[1] TRUE, FALSE, TRUE

두 개의 vector를 작은지 비교(<)하면 각 자릿수에 맞는 값을 비교하여 TRUE 혹은 FALSE를 리턴합니다.

> data1 <- c(2, 4, 6)
> data1 < c(4, 4, 4)
[1] TRUE, FALSE, FALSE


list

list 객체 정보 요약 조회하기

> summary(listData)
 Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's
1.000   1.000   2.000   2.659   4.000   8.000    2445

 

[끝]

References about R

R을 학습하기 위한 사이트와 참조 문서들에 대한 내용을 포함합니다.


 

Online MOOC

Code School의 Try R

completed-try-r-ca79ab8225e0b8f81bdfbb622f278f29

  • R 도구 혹은 RStudio를 설치하지 않고도 R 문법을 웹페이지에서 바로 따라하며 배울 수 있는 온라인 과정입니다.
  • 무료 강좌이며 기초를 다지기에 훌륭한 강좌를 제공합니다.
  • 바로 가기

Coursera의 R Programing (Johns Hopkins University)

Rprogramming

  • R 도구에 대한 기초부터 문법 및 응용까지 깊이 있는 내용을 배우기에 좋은 강좌입니다.
  • 4주 과정으로 매주 과제를 수행해야 하며 70점 이상이 되어야 통과하여 인증서를 받을 수 있습니다.
  • 바로 가기

 

 

[end]

Using Tool & Packages

R과 RStudio 설치하기와 package를 설치하는 방법에 대해 설명합니다.


xlsx Package 설치하기

Step 1. Install Package

메뉴에서 Tools > Install Packages 항목을 선택한다.

install_package

Packages 항목에 패키지 이름(xlsx)를 입력한다. 혹은 그림처럼 목록이 나오면 선택한다음 Install 버튼을 클릭하면 설치가 진행된다.

type_package_name

Step 2. 라이브러리 로딩

R에서 설치한 라이브러리를 사용하려면 로딩을 해야한다.

> library(xlsx)

 

만약 JAVA가 설치되지 않은 경우 다음과 같은 오류가 발생된다.

필요한 패키지를 로딩중입니다: rJava
Error : .onLoad가 loadNamespace()에서 'rJava'때문에 실패했습니다:
 호출: fun(libname, pkgname)
 에러: JAVA_HOME cannot be determined from the Registry
Error: 패키지 ‘rJava’는 로드되어질 수 없습니다

 

[끝]

Getting Data in R

1. 웹에서 파일 다운로드 받기

1.1 웹 url을 지정하여 csv 파일 다운받기

> file_url <- "http://samplecsvs.s3.amazonaws.com/TechCrunchcontinentalUSA.csv"
> download.file(file_url, destfile="./data/TechCrunchcontinentalUSA.csv", method="curl")
> list.files("./data");

 

1.2 read.table() 함수 이용해서 CSV 파일 읽기

> fundingData <- read.table("./data/TechCrunchcontinentalUSA.csv", sep=",", header=TRUE)

※ 위와 같이 csv파일을 read.table로 읽어올 경우 데이터 형에 따라 재대로 읽어오지 못하는 경우가 발생하니 읽어온 데이터 내용의 확인이 필요하다.

1.3 CSV 파일 읽기

> fundingData <- read.csv("./data/TechCrunchcontinentalUSA.csv", sep=",", header=TRUE)

읽어온 데이터의 처음 일부를 확인해 보려면 head() 함수를 사용하면 됨

> head(fundingData)
     permalink      company numEmps category       city state fundedDate raisedAmt raisedCurrency round
1     lifelock     LifeLock      NA      web      Tempe    AZ   1-May-07   6850000            USD     b
2     lifelock     LifeLock      NA      web      Tempe    AZ   1-Oct-06   6000000            USD     a
3     lifelock     LifeLock      NA      web      Tempe    AZ   1-Jan-08  25000000            USD     c
4  mycityfaces  MyCityFaces       7      web Scottsdale    AZ   1-Jan-08     50000            USD  seed
5     flypaper     Flypaper      NA      web    Phoenix    AZ   1-Feb-08   3000000            USD     a
6 infusionsoft Infusionsoft     105 software    Gilbert    AZ   1-Oct-07   9000000            USD     a

 

※ 위 파일은 데이터 분석을 위해 샘플 데이터를 제공하는 아래 사이트를 참고하였다.
https://support.spatialkey.com/spatialkey-sample-csv-data/

차트 그리기

1. Bar Chart 그리기

1.1. Vector로 바 차트 그리기

숫자로 구성된 vector 생성 후 barplot 함수에 전달하면 자동으로 바차트를 그려준다.

[코드]

> data1 <- c(4, 5, 1)
> barplot(data1);

[결과]
barchart

 

1.2. Bar Chart에 Label 설정하여 그리기

vector에 names() 함수를 이용해 이름을 설정하고 barplot() 함수로 그리면 각 바에 이름이 자동으로 지정되어 표시됩니다.

[코드]

> names(data1) <- c("England", "France", "Norway")
> barplot(data1);

[결과]

barchart1

 

디렉터리 다루기

R 도구에서 데이터 분석을 위해 로컬 혹은 인터넷을 통해 데이터를 로딩하는 방법에 대해 설명합니다.


 

1. 디렉터리 다루기

1.1 상대 경로로 working directory 설정

현재 경로 밑 data 디렉토리를 기본 디렉터리로 설정한다.

> setwd("./data")

현재 경로의 상위 디렉토리를 기본 디렉터리로 설정한다.

> setwd("../")

1.2 절대 경로로 working directory 설정

전체 경로를 다 적어주고 기본 디렉터리로 설정한다.

> setwd("/Users/meta/data/")

※ 주의: 윈도우에서는 back-slash를 사용해야 합니다.

> setwd("c:\\Users\\meta\\data")

1.3 directory 검사, directory 생성

지정하는 디렉토리가 존재하는지 검사하고 없을 경우 새로 생성한다.

> if(!file.exists("directory_name"))
>   dir.create("directory_name");

1.4 directory내 파일 목록 가져오기

현재 working directory 아래 data 폴더에 있는 파일들의목록을 조회한다.

> list.file("./data")
[1] "downloaded.csv"

 

[끝]