11. R콘솔 입력 및 데이터 유형(벡터, 목록(List))
R 콘솔 입력
표현식 : R프롬프트에 입력하는 내용
x <- 1 #R표현식
print(X) #출력함수
[1] 1
x #R의개체이자, 한가지 요소(1)가 포함된 숫자개체이자 숫자벡터
#print()쓰지 않고 개체 호출하는 방법
[1] 1
msg <- "hello" #문자벡터의 첫 번째 요소는 hello 문자열/추가하는 개체는 모두 문자열이어야 함
객체와 벡터의 개념 ( 객체 안에 벡터 )
객체
정의: 데이터를 저장하는 모든 종류의 컨테이너
특징: 변수, 함수, 데이터 구조 등 객체로 취급
종류: 벡터, 행렬, 데이터 프레임, 리스트, 함수 등 모두 객체
벡터
정의: 같은 유형의 데이터가 일렬로 나열된 1차원 배열
특징: R의 가장 기본적인 구조로, 모든 원소가 동일한 타입이어야 한다.
생성: c()함수로 생성 (예: c(1,2,3))
x <- 1:20
x
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
[16] 16 17 18 19 20
[벡터의 요소 순번]
ex> [1] '이 줄의 1번째 요소가 해당 벡터의 1번째 요소' 임을 의미
데이터 유형
1. R 개체 및 속성
- R에는 5가지 기본 원자 클래스의 객체가 있다.
(문자, 숫자, 정수, 복소수, 논리함수(참/거짓))
-R의 가장 기본적인 객체 = 벡터
(*벡터의 모든 것은 같은 클래스여야 한다. 예: 문자-문자 (0) /문자-숫자(x))
예외적으로 서로 다른 유형의 클래스를 가질 수 있는 벡터를 "목록"이라고 한다.
목록은 se가 있는 데, 그것은 객체의 시퀀스를 말함
- 벡터 함수에는 2가지 기본 인수가 있다.
1> 객체의 클래스 = 벡터에 담고 싶은 객체 유형
2> 백터 자체의 길이
- inf = '무한대'를 의미, 계산에 사용할 수 있는 실수와 같음
- R 객체는 속성을 가질 수 있다.
- 객체의 길이는 벡터의 요소의 개수
2. 벡터 및 목록
2-1 벡터
- c() 함수는 벡터 객체 생성에 사용할 수 있다.
x <- c(0.5,0.6) #numeric --- 길이 2인 숫자 벡터 생성
x <- c(TRUE,FALSE) #logical
x <- c(T,F) #logical
x <- c("a", "b", "c") #character
x <- 9:29 #integer
x <- c(2+0i, 2+4i) #complex
- vector() 함수로 특정 유형과 특정 길이의 벡터 생성
x <- vector("numeric", length = 10)
x
[1] 0 0 0 0 0 0 0 0 0 0 #길이가 10인 숫자 벡터 생성
- 기본적으로 숫자 벡터의 기본값을 0으로 하여 벡터를 초기화 함
- 서로 다른 유형의 객체를 혼합해 벡터를 생성하면 어떻게 될까?
y <-c(1.7, "a") #character
y <-c(TRUE, 2) #numeric TRUE=1 ,FALSE=0 으로 표현
y <-c("a", TRUE) #character
=> 오류는 발생하지 않으나, 벡터가 최송 공통 분모의 일종인 클래스가 되도록 강제할 것
x <- 0:6
class(X)
[1] "integer"
as.numeric(x)
[1] 0 1 2 3 4 5 6
as.logical(x)
[1] FALSE TRUE TRUE TRUE TRUE TRUE TRUE
as.character(x)
[1] "0" "1" "2" "3" "4" "5" "6"
as.complex(x)
[1] 0+0i 1+0i 2+0i 3+0i 4+0i 5+0i 6+0i
x <- c("a", "b", "c")
as.numeric(x)
[1] NA NA NA
Warning message:
NAs introduced by coercion
as.logical(x)
[1] NA NA NA
2-2. 목록
인덱싱 되어 이중괄호 (벡터는 단일 괄호만 사용함)
x <- list(1, "a", TRUE, 1+4i)
x
[[1]]
[1] 1
[[2]]
[1] "a"
[[3]]
[1] TRUE
[[4]]
[1] 1+4i