<프로그램>

# mode : the type of an object : 객체 유형
# 종류 : numeric, logical, character, complex, list, NULL, NA, NaN, Inf, -Inf

mode(3)
mode(3>4)
mode("3")
mode(3+1i)

# length : 객체의 길이
length(c(1,2,3))

# 객체의 종류 : vector, matrix, array, dataframe, list, factor, time series
is.vector(c(1,2,3)) # 벡터
is.matrix(matrix(c(1,2,3,4), nrow = 2)) # 행렬
is.array(array(data=1:8, dim=c(2,2,2))) # 배열
is.list(data.frame(matrix(c(1,2,3,4), nrow = 2))) # 데이터 프레임은 list로 나온다.
is.list(list(x1=1,x2=c("a","b"))) # 리스트

# 벡터 객체의 속성
# attribute of vector : mode, length, names
a <- c("B+", "C0", "A0", "D-", "A+")
a
mode(a) # 벡터 객체의 유형, 즉 벡터가 담고 있는 자료의 유형
length(a) # 벡터의 길이
names(a) <- c("강", "김", "박", "이", "최") # 벡터 원소에 이름 주는 함수
names(a) # 벡터 원소의 이름 확인
a
a[3] # 순번에 의한 원소 접근
a["박"] # 이름에 의한 원소 접근

# 행렬 객체의 속성
# attribute of matrix : mode, length, dimension, row name, col name
cm <- matrix(seq(1, 10) + 2i, nrow = 5) # 행렬 생성
cm
is.matrix(cm) # 객체의 종류 확인
is.complex(cm) # 객체가 담고 있는 자료의 유형 확인
mode(cm) # 자료의 유형 data type
length(cm) # 원소의 수 the number of elements
dim(cm) # 행과 열의 수 the number of rows and cols
nrow(cm) # 행의 수
ncol(cm) # 열의 수
dimnames(cm) # 행과 열의 이름 확인
dimnames(cm) <- list(paste("R", 1:5, sep=""), paste("C", 1:2, sep="")) # 행과 열의 이름 주기
dimnames(cm) # 행과 열의 이름 확인
cd <- dimnames(cm) # 행과 열의 이름들을 저장, 객체의 종류는 list
cd[[1]] # 리스트의 첫째 자료 유형에 접근
dimnames(cm)[[2]][1] # 행렬의 열의 이름들 중 첫째 이름
cm

# 데이터 프레임 객체의 속성
# attribute of data frame : mode, length, dimension, variable names, column names
data.f <- data.frame(x=1:5, y=6:10) # 데이타 프레임 생성
data.f
mode(data.f) # 데이터 프레임이 담고 있는 자료의 유형, 데이타 프레임은 다양한 유형의 자료를 담을 수 있으므로 list로 나옴
names(data.f) # 변수의 이름
length(data.f) # 변수의 개수
row.names(data.f) # 각 행의 이름 구하기
row.names(data.f) <- paste("ID", 1:5, sep="") # 각 행의 이름을 다시 주기
data.f
dim(data.f) # 자료의 수와 변수의 수
nrow(data.f) # 자료의 수
ncol(data.f) # 변수의 수

<프로그램 결과>

R version 2.8.1 (2008-12-22)
Copyright (C) 2008 The R Foundation for Statistical Computing
ISBN 3-900051-07-0

R은 free 소프트웨어이고, [완전하게 무보증]입니다.
일정한 조건에 따르면, 자유롭게 이것을 재배포할수가 있습니다.
배포 조건의 상세한것에 대해서는 'license()' 또는 'licence()' 라고 입력해주십시오

R는 많은 공헌자에의한 공동 프로젝트입니다
더 자세한것에 대해서는 'contributors()'라고 입력해 주십시오.
또는, R나 R의 패키지를 출판물로 인용할때의 형식에 대해서는
'citation()'라고 입력해주십시오
'demo()'라고 입력하면, demos를 볼수가 있습니다.
'help()'라고 한다면, on-line help가 나옵니다.
'help.start()'로 HTML 브라우저에 의한 help가 보여집니다
'q()'라고 입력하면 R를 종료합니다
> # mode : the type of an object : 객체 유형
> # 종류 : numeric, logical, character, complex, list, NULL, NA, NaN, Inf, -Inf
>
> mode(3)
[1] "numeric"
> mode(3>4)
[1] "logical"
> mode("3")
[1] "character"
> mode(3+1i)
[1] "complex"
>
> # length : 객체의 길이
> length(c(1,2,3))
[1] 3
>
> # 객체의 종류 : vector, matrix, array, dataframe, list, factor, time series
> is.vector(c(1,2,3)) # 벡터
[1] TRUE
> is.matrix(matrix(c(1,2,3,4), nrow = 2)) # 행렬
[1] TRUE
> is.array(array(data=1:8, dim=c(2,2,2))) # 배열
[1] TRUE
> is.list(data.frame(matrix(c(1,2,3,4), nrow = 2))) # 데이터 프레임은 list로 나온다.
[1] TRUE
> is.list(list(x1=1,x2=c("a","b"))) # 리스트
[1] TRUE
>
> # 벡터 객체의 속성
> # attribute of vector : mode, length, names
> a <- c("B+", "C0", "A0", "D-", "A+")
> a
[1] "B+" "C0" "A0" "D-" "A+"
> mode(a) # 벡터 객체의 유형, 즉 벡터가 담고 있는 자료의 유형
[1] "character"
> length(a) # 벡터의 길이
[1] 5
> names(a) <- c("강", "김", "박", "이", "최") # 벡터 원소에 이름 주는 함수
> names(a) # 벡터 원소의 이름 확인
[1] "강" "김" "박" "이" "최"
> a
강 김 박 이 최
"B+" "C0" "A0" "D-" "A+"
> a[3] # 순번에 의한 원소 접근

"A0"
> a["박"] # 이름에 의한 원소 접근

"A0"
>
> # 행렬 객체의 속성
> # attribute of matrix : mode, length, dimension, row name, col name
> cm <- matrix(seq(1, 10) + 2i, nrow = 5) # 행렬 생성
> cm
[,1] [,2]
[1,] 1+2i 6+2i
[2,] 2+2i 7+2i
[3,] 3+2i 8+2i
[4,] 4+2i 9+2i
[5,] 5+2i 10+2i
> is.matrix(cm) # 객체의 종류 확인
[1] TRUE
> is.complex(cm) # 객체가 담고 있는 자료의 유형 확인
[1] TRUE
> mode(cm) # 자료의 유형 data type
[1] "complex"
> length(cm) # 원소의 수 the number of elements
[1] 10
> dim(cm) # 행과 열의 수 the number of rows and cols
[1] 5 2
> nrow(cm) # 행의 수
[1] 5
> ncol(cm) # 열의 수
[1] 2
> dimnames(cm) # 행과 열의 이름 확인
NULL
> dimnames(cm) <- list(paste("R", 1:5, sep=""), paste("C", 1:2, sep="")) # 행과 열의 이름 주기
> dimnames(cm) # 행과 열의 이름 확인
[[1]]
[1] "R1" "R2" "R3" "R4" "R5"

[[2]]
[1] "C1" "C2"

> cd <- dimnames(cm) # 행과 열의 이름들을 저장, 객체의 종류는 list
> cd[[1]] # 리스트의 첫째 자료 유형에 접근
[1] "R1" "R2" "R3" "R4" "R5"
> dimnames(cm)[[2]][1] # 행렬의 열의 이름들 중 첫째 이름
[1] "C1"
> cm
C1 C2
R1 1+2i 6+2i
R2 2+2i 7+2i
R3 3+2i 8+2i
R4 4+2i 9+2i
R5 5+2i 10+2i
>
> # 데이터 프레임 객체의 속성
> # attribute of data frame : mode, length, dimension, variable names, column names
> data.f <- data.frame(x=1:5, y=6:10) # 데이타 프레임 생성
> data.f
x y
1 1 6
2 2 7
3 3 8
4 4 9
5 5 10
> mode(data.f) # 데이터 프레임이 담고 있는 자료의 유형, 데이타 프레임은 다양한 유형의 자료를 담을 수 있으므로 list로 나옴
[1] "list"
> names(data.f) # 변수의 이름
[1] "x" "y"
> length(data.f) # 변수의 개수
[1] 2
> row.names(data.f) # 각 행의 이름 구하기
[1] "1" "2" "3" "4" "5"
> row.names(data.f) <- paste("ID", 1:5, sep="") # 각 행의 이름을 다시 주기
> data.f
x y
ID1 1 6
ID2 2 7
ID3 3 8
ID4 4 9
ID5 5 10
> dim(data.f) # 자료의 수와 변수의 수
[1] 5 2
> nrow(data.f) # 자료의 수
[1] 5
> ncol(data.f) # 변수의 수
[1] 2
>
>

+ Recent posts