R, Command line interface Ⅰ Start.

BioinformaticsAndMe



R 의 기본 명령어와 Component 를 다뤄보자.


1. 변수 할당

-변수값 할당 연산자는 <-, <<-, = 를 사용한다.
-많은 소스에서 주요 연산자는 <- 를 사용한다. 
EX1) a <- 10
EX2) A <- 20

-알파벳, 숫자, _(언더바), .(마침표)로 구성된다.

- '-' (하이픈)은 사용불가.

-첫글자는 알파벳 또는 .(마침표)로만 시작해야 한다.

EX3) a-b <- 10
EX4) 1A <- 20


2. Data Type & Structure

R은 숫자형(numeric), 문자형(character), 논리형(logical) 그리고 복소수형(complex number) 총 4개의 저장 타입(storage mode)를 가지고 있으며 위의 type 하나 또는 그 이상의 조합으로 표현되는 벡터(vector), 행렬(matrix), 테이블(table), 데이터프레임(data frame), 리스트(list) 구조를 지닌다.
EX1) value <- 101 #numeric
EX2) string <- “bye” #character
EX3) logic <- 4 < 8 #logical
EX4) logic <- 4 != 8 #logical
EX5) mode(logic)


3. Basic operation
-벡터 값을 할당하기 위해서는 c() 라는 함수를 이용하여 할당할 수 있다.
-c : construct, combine, concatenate
EX1) x <- c(23, 34, 44)
EX2) x[1]

-숫자, 문자형이 혼재되어 있으면 문자형으로 강제 변환된다.
EX3) x <- c(1, 2, “R”)

-논리, 숫자형이 혼재되어 있으면 숫자형으로 강제 변환된다.
EX4) x <- c(1, 2, TRUE)


4. Element-wise
-R에서 벡터의 연산은 각 요소별로 pairwise하게 이뤄진다.
EX1) a <- c(1,2,3)
EX2) b <- c(4,5,6)
EX3) a*b
EX4) a <- c(1,2,3,4)
EX5) b <- c(4,5,6)
EX6) a*b


5. 벡터의 연산
> x <- 5;
> num <- c(100,500,1200)
> num/x
[1]  20 100 240

벡터변수 확인:
> num <- c(100,500,1200)
> num[1]
[1] 100
> num[2]
[1] 500
> num[3]
[1] 1200

Sequence의 선언:
> x=seq(from=0, to=2, by=0.5)
> y=seq(from=10, length=5)
> x
[1] 0.0 0.5 1.0 1.5 2.0
> y
[1] 10 11 12 13 14


6. 벡터의 조건문

EX1) x <- c(11, 12, 13, 14, 19, 20)

EX2) x > 15
EX3) x[x > 15]

-관계식에 맞는 index 추출
EX4) which( x > 15 )
EX5) which( x == 19 )


7.  행렬(Matrix) 다루기
-행렬의 선언
EX1) y <- matrix(1:20, nrow=5, ncol=4)
EX2) y <- matrix(1:20, nrow=5, ncol=4, byrow=TRUE)
-행렬 요소 추출
EX3) y[3, 2]
EX4) y[1, ]
EX5) y[ c(3,4), ]

-행렬 요소 치환
EX1) y[3, 2] <- 99
EX2) y[5, ] <- c(117, 118, 119, 120)
EX3) y[4, c(3,4)] <- c(115, 116)
-행렬의 연산
EX4) X <- matrix( 1:20, nrow=4)
EX5) sum(X)



R, Command line interface Ⅰ End.

BioinformaticsAndMe

'R' 카테고리의 다른 글

R, 결측치 처리 (Missing value, NA)  (0) 2018.07.26
R, Command line interface Ⅱ  (0) 2018.07.20
R, RStudio 설치  (0) 2018.07.14
Permutation test (순열검정법)  (7) 2018.07.08
Cogena-2 (CoExpression 분석)  (0) 2018.07.06

+ Recent posts