통계 프로그램/R - Programing

R - 자료 생성과 자료의 유형(종류)

BlueNoa 2021. 6. 17. 22:07
728x90
반응형

· 벡터(Vector) 자료

R에서는 한 줄(열)로 되어있는 자료를 '벡터'라고 부른다.

변수를 만드는 방법부터 벡터 자료를 만드는 순서를 확인하자.

 

치환 및 할당 선언을 할 때 <-, ->, =을 사용한다는 점을 기억하자.

참고로 <-을 빠르게 입력하기 위해서 Alt + '-'를 누르면 바로 기입이 된다.

 

 

· 변수 생성

<예제>

# 변수 생성 방법
var <- 1
var2 = 2
3 -> var3 # 사실 이렇게 쓰는 사람은 많지 않지만 표현은 가능하다.

print(var, var2, var3) # print는 하나의 객체만 출력할 수 있다.
cat(var, var2, var3) # 복수의 객체를 출력할 땐 cat을 사용한다.

vb.abc = 123 # 변수명을 만들어 줄 때 '.'은 단순 문자역할이다.
vb.abc

ls() # 현재 변수로 지정된 객체들의 이름을 볼 수 있다.
ls.str() # 변수들의 속성을 볼 수 있다.

rm(list = ls()) # 모든 변수 객체들을 지우는 명령어

gc() # garbage collector : R에서는 메모리를 많이 사용하므로 메모리 회수를 위한 명령어이다.

 

 

· 데이터의 유형(종류)

데이터의 종류도 여러 가지가 있다.

숫자형 : numeric, integer, double
문자형 : character
논리형 : logical
결측 : NA
factor : 요인형 변수
closure : 함수

 

# 자료의 종류
# 숫자
a = 13
object.size(a) # a객체의 bytes 크기를 알려준다.
typeof(a) # 실수로 나온다.
typeof(3.5) # 대부분의 숫자들은 전부 double이라고 본다.
typeof(5L) # 숫자 뒤에 'L'을 붙여주면 integer : 정수가 된다.

b = as.integer(a) # 정수로 형태 변환해서 b에 할당
typeof(b)
is(b) # b가 갖고 있는 속성들이 전부 나온다.
is.vector(b) # TRUE : b는 vector 자료이기 때문이다.
is.integer(b) # TRUE


# 문자
c = "김시민"
is(c)
typeof(c)


# boolean 표현 = logical
d = TRUE # 또는 T
e = F # 또는 FALSE
typeof(d) # logical
typeof(e) # logical


# NA : 결측치
f = NA # 결측 데이터
is.na(f) # TRUE


length(NA) # 길이 : 1
length(NULL) # 길이 : 0
length(NaN)  # 길이 : 1

sum(4, 7, NA) # 결측치가 하나 이상 있으면 어떤 수식이든 결과는 NA가 나온다.
sum(4, 7, NA, 23, na.rm = T) # na.rm = T : 결측치를 제거한다. 결과 : 34


# NaN : 숫자가 아닌 것들
Inf * 0
0 / 0
Inf - Inf
Inf + -Inf
Inf + Inf # 예외적으로 Inf로 나온다.

g = 3.14 - 5i
typeof(g) # complex : 문자와 숫자가 섞인 복합 객체
Re(g) # 실수 부분인 3.14만 출력된다.
Im(g) # 허수 부분의 -5가 출력된다.


# factor : 요인형 변수
h = c("two", "one", "three", "one", "two")
h # "two"   "one"   "three" "one"   "two"
summary(h) # 객체의 정보 요약
is.factor(h) # FALSE
is.character(h) # TURE
H = as.factor(h) # 요인형 변수로 변환
H # Levels: one three two
summary(H) #   one three   two 
          #    2     1     2 


# 함수
i = function(){
  a # 위에서 작성한 a의 값을 가져온다.
  return(a)
}
i() # 함수 호출 결과 : 13
typeof(i) # closure

 

 

· 데이터의 자료 구조 확인

model() - 데이터의 성격

class() - 자료의 구조 성격

typeof() - 자료의 형태 확인

# 문자열의 형태
x = TRUE
cat(is(x), ":", mode(x), class(x), typeof(x))
x = 3
cat(is(x), ":", mode(x), class(x), typeof(x))
x = 3L
cat(is(x), ":", mode(x), class(x), typeof(x))
x = "문자열"
cat(is(x), ":", mode(x), class(x), typeof(x))
logical vector : logical logical logical
numeric vector : numeric numeric double
integer double numeric vector data.frameRowLabels : numeric integer integer
character vector data.frameRowLabels SuperClassMethod : character character character

 

 

· 부가적인 설명

base::cat(is(x), ":", mode(x), class(x), typeof(x)) # base 패키지 안의 cat <- 원래 표현되는 경로이다.
available.packages() # 설치된 패키지를 확인하는 명령어
dim(available.packages()) # 설치된 패키지의 개수
sessionInfo() # R버전과 현재 적용된 패키지 등의 정보를 보여준다.

 

install.packages("plyr") # 패키지를 설치하는 방법
library(plyr) # 패키지 적용하는 방법1
require(plyr) # 패키지 적용하는 방법2
library(help=plyr) # 해당 패키지의 설명이 나온다.
search() # 현재 패키지의 정보를 알려준다.
ls("package:plyr") # 적용된 패키지의 plyr에 속한 부속 기능 명령어들
data(package = "plyr") # 패키지의 내부 정보를 볼 수 있다.
remove.packages("plyr") # 패키지 삭제 방법

 

728x90
반응형

'통계 프로그램 > R - Programing' 카테고리의 다른 글

Test - Training + R예제  (0) 2021.08.01
RStudio에서 R버전 업데이트 하기  (0) 2021.06.17
R - 기초  (0) 2021.06.17