https://www.tutorialspoint.com/r/r_data_types.htm
일반적인 프로그래밍에서는 값들을 저장하기 위하여 다양한 변수(Variables)들이 필요하다. 변수는 값을 저장한 메모리의 위치를 나타낸다. 이것은 변수를 만들면 그것이 메모리를 일정 공간을 차지한다는 것을 뜻한다. 문자, 정수, 실수, 진릿값 등 다양한 데이터를 변수에 저장하는 것이 필요할 것이다. 운영체제는 이러한 데이터 타입에 알맞게 변수에 메모리를 할당한다.
R에서는 C나 Java와 같은 프로그래밍 언어와는 다르게 R 에서는 변수를 만들 때 데이터 타입을 선언하지 않는다. 변수는 R-Object로 할당되며 R-Object의 데이터타입이 변수의 데이터타입이 된다. 다양한 타입의 R-Object가 있지만 자주 사용되는 R-Object의 타입은 아래와 같다.
자주 사용하는 데이터 타입
- Vectors
- Lists
- Matrices
- Arrays
- Factors
- Data Frames
- Logical
- ex) TRUE, FALSE
- Numeric
- 12.3, 5, 999
- Integer
- 2L, 34L
- Complex
- 3+2i
- Character
- 'a', 'good'
- Raw
- "Hello" 는 48 64 6c 6c 6f로 저장된다.
v <- TRUE print(class(v)) v <- 23.5 print(class(v)) v <- 2L print(class(v)) v <- 2+5i print(class(v)) v <- "TRUE" print(class(v)) v <- charToRaw("Hello") print(class(v))
결과 :
[1] "logical"
[1] "numeric"
[1] "integer"
[1] "complex"
[1] "character"
[1] "raw"
Vectors
R 언어에서 가장 많이 사용되고 기본적인 R-Object는 Vectors이다. 이것은 위의 열거된 atomic vector들을 저장한다. Vectors는 c() 함수를 사용하여 만들 수 있다. 이것은 엘리먼트들을 벡터로 합친다는 뜻이다. (combine의 c)
# Create a vector. apple <- c('red','green',"yellow") print(apple) # Get the class of the vector. print(class(apple))
[1] "red" "green" "1" [1] "character"
Matrices
매트릭스는 2차원의 데이터셋이다. 이것은 매트릭스 함수에 벡터를 제공함으로써 만들 수 있다.
# Create a matrix. M = matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = TRUE) print(M) print(class(M))
[,1] [,2] [,3] [1,] "a" "a" "b" [2,] "c" "b" "a" [1] "matrix"Arrays
매트릭스는 2차원에 한정되지만 arrays는 어떠한 차원으로 만들 수 있다.
# Create an array.
a <- array(c('green','yellow'),dim = c(3,3,2))
print(a)
, , 1 [,1] [,2] [,3] [1,] "green" "yellow" "green" [2,] "yellow" "green" "yellow" [3,] "green" "yellow" "green" , , 2 [,1] [,2] [,3] [1,] "yellow" "green" "yellow" [2,] "green" "yellow" "green" [3,] "yellow" "green" "yellow"위 코드는 3차원의 array를 만들고, 원소들을 차례대로 green, yellow로 지정한다.Factors
Factors는 vector로 만들어지는 R-object이다. Factors는 vector의 element들의 고유값(distinct value)를 레이블로 저장한다. 이 레이블들은 벡터 원소 타입이 어떻든 간에 항상 문자이다. Factors는 통계적 모델링에 유용하다. Factors는 factor()함수를 사용하여 만들 수 있다. nlevels() 함수를 통해 factors의 레벨을 알 수 있다.
# Create a vector. apple_colors <- c('green','green','yellow','red','red','red','green') # Create a factor object. factor_apple <- factor(apple_colors) # Print the factor. print(factor_apple) print(nlevels(factor_apple))[1] green green yellow red red red green Levels: green red yellow [1] 3Data Frames
데이터프레임은 구조화된 데이터 오브젝트이다. 매트릭스와 다른점은 데이터프레임은 컬럼으로 어떠한 데이터타입이든 넣을 수 있다. 첫 번째 컬럼은 numeric, 두 번째 컬럼은 문자열, 세 번째 컬럼은 논릿값 등 자유롭게 지정할 수 있다. 이것은 같은 길이의 vector들의 list로 볼 수 있다.
데이터 프레임은 data.frame() 함수를 통해 생성할 수 있다.
# Create the data frame.
BMI <- data.frame( gender = c("Male", "Male","Female"), height = c(152, 171.5, 165), weight = c(81,93, 78), Age = c(42,38,26) ) print(BMI)
gender height weight Age 1 Male 152.0 81 42 2 Male 171.5 93 38 3 Female 165.0 78 26
'Tools > R' 카테고리의 다른 글
R - (6) 반복문 (0) | 2017.02.17 |
---|---|
R - (5) If, else if, switch (0) | 2017.02.15 |
R - (4) 연산자 (0) | 2017.02.15 |
R - (3) 변수 (0) | 2017.02.15 |
R - (1) Introduction (0) | 2017.02.13 |