R에서의 자료 형태

지애·2022년 5월 22일
0

R

목록 보기
2/2

1. Vector

  • 같은 종류의 객체들만을 포함하는 자료 형태
  • 1차원 배열

1-1. 벡터 생성하기

  • c( ) 사용 : 데이터나 객체들을 하나로 결합
x <- c(1, 2.5, 3.2) #double
y <- c(1L, 2L, 3L) #integer(정수로 인식하게 하려면 숫자 뒤에 L 붙여줘야 함)
z <- c("KTX", "Saemaul", "Mugunghwa") #string
v <- c(TRUE, FALSE, FALSE, TRUE) #logical
i <- c(1+0i, 2+4i) #complex 복소수
  • 연속된 정수
x <- 9:29 (9~29까지의 정수)
  • 기존 벡터를 사용하여 새로운 벡터 생성하기
a<-c(1,2,3)
b<-c(5,6)
x<-c(a,4,b)
#x <- c(1,2,3,4,5,6)
  • 기존 벡터에 객체 삽입하기
append(x, 99, after=3) #x의 세 번째 성분 다음에 99 삽입(after만 가능!)
append(x, -99, after=0) #x의 맨 앞에 -99 삽입
  • seq()를 이용
x<-seq(from=0, to=1, by=0.1)
# 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
y<-seq(from=0, to=1, length=11)
# 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
  • rep()를 이용
rep(1,10) #1이 10개 있는 벡터

1-2. 벡터에서 인덱싱

x[3] #x의 세 번째 성분
x[c(1, 3)] #x의 첫 번째, 세 번째 성분을 추출한 부분 벡터

1-3. 벡터에 이름 부여하기

fruit <- c(5, 3, 2)
names(fruit) <- c("apple", "orange", "peach")

# apple orange peach
#     5      3     2

또는

fruit <- setNames(c(5, 3, 2), c("apple", "orange", "peach"))
#벡터  생성과 동시에 이름 부여하기
# apple orange peach
#     5      3     2

벡터 인덱싱 할 때 벡터 이름으로 인덱싱 가능!

fruit[c("apple", "peach")]

#apple peach
#   5      2

1-4. 벡터의 길이 구하기

length(x)

1-5. 벡터간 산술 연산하기

백터 내의 각 요소끼리 매치하여 연산함.

1-6. 벡터에서 서로 다른 객체들을 혼용할 경우(implicit coercion)

implicit coercion이 발생해 모든 객체들이 같은 종류의 객체로 통일됨.
단, 우선순위를 따라 통일됨.
Logical < Mumeric < Character

1-7. Explicit Coericion

객체를 다른 형태의 객체로 변경하기
만약, 변경이 불가능한 경우 NA로 변경됨.

as.numeric()
as.logical()
as.complex()

2. Matrix

  • 행렬 안에 배열된 구성원들을 성분(entry) 또는 항, 원소(element)라 함
  • 행렬의 가로줄을 행(row), 세로줄을 열(column)이라 함

2-1. Matrix 생성하기

  • matrix() 사용
    column-wise 형태로 값으르 구성
    (왼쪽 열부터 차례로 값이 채워짐)
m <- matrix(row=2, ncol=3)
#NA NA NA
#NA NA NA
  • dim() 사용
m <- 1:10
dim(m) <- c(2, 5) #행, 열
# 1 3 5 7 9
# 2 4 6 8 10

List

Factor (범주형)

Data Frame (데이터 프레임)

profile
차근차근

0개의 댓글