본문 바로가기
반응형

4. 자료형13

R 에서 아주 큰 정수 입력하는 방법 R에서는 최대 16개의 숫자(digits)을 인식합니다. > 1111122222333334444455555 [1] 1111122222333334388726000 이런 문제도 있습니다. 아주 큰 수를 입력하면 무한으로 인식합니다. > 10e500 [1] Inf 아주 큰 정수를 다뤄야 하는 경우 패키지를 사용해야 합니다. gmp라는 패키지를 사용하면됩니다. 먼저 패키지를 설치하고 불러옵시다. install.packages("gmp") library(gmp) as.bigz 라는 클래스를 이용합니다. 숫자를 큰따옴표 안에 입력해야 합니다. > as.bigz("111111111111111111111111111111111") Big Integer ('bigz') : [1] 11111111111111111111111.. 2021. 7. 12.
R 유효숫자 최대 몇개까지 가능할까? 옵션 입력값에서는 유효숫자를 최대 22개까지 설정이 가능합니다. > options(digits = 23) Error in options(digits = 23) : invalid 'digits' parameter, allowed 0...22 > options(digits = 22) 실제 입력에서는 그렇지 않습니다. 정수를 입력할 때는 17개까지 제대로 입력됩니다. > 12345123451234512345 [1] 12345123451234512896 소수점과 함께 입력할 때도 17개까지 가능합니다. > 12345.123451234512345 [1] 12345.123451234513 2021. 7. 11.
R 출력되는 숫자 개수 설정하기 (유효숫자) 먼저 설정되어 있는 유효숫자 개수를 확인해봅시다. > getOption("digits") [1] 7 파이로 확인해봅시다. 유효숫자의 개수가 7개입니다. > pi [1] 3.141593 원하는 만큼 늘려봅시다. 최대 22까지 가능합니다. 설정은 22개까지 되지만, 실제 출력은 17개까지 됩니다. > options(digits = 22) > pi [1] 3.14159265358979 2021. 7. 11.
R 지수표기법을 일반표기법으로 바꾸는 방법 숫자를 표기하는 방법은 일반표기법과 지수표기법이 있습니다. 두 방법의 차이는 아래 예시를 통해 쉽게 구분하실 수 있습니다. 일반 표기법(standard notation) : 100, 0.02 지수표기법(exponential notation) : 1e^2, 1e-2 일반표기법은 고정표기법(fixed notation)이라고도 부릅니다. 지수표기법은 과학표기법(scientific notation)이라고도 부릅니다. R에서 표기법을 설정하는 방법입니다. options 함수의 scipen 옵션을 사용하면 됩니다. 양수를 입력하면 일반표기법, 음수를 입력하면 지수표기법입니다. 충분히 큰 숫자를 입력해야합니다. options(scipen=500) options(scipen=-500) 아래는 예시입니다. > optio.. 2020. 4. 24.
R 자료형 사이의 변환방법 (문자형,숫자형,논리형,NULL형) R 자료형 사이의 변환방법 R에서 어떤 자료형을 다른 자료형으로 바꾸는데 사용되는 함수는 as. 함수입니다. 함수의 종류는 자료형의 종류만큼 있습니다. as. 뒤에 자료형을 붙인 형태입니다. 종류는 아래와 같습니다. as.numeric() : 숫자형 벡터로 변환as.integer() : 정수형 벡터로 변환as.complex() : 복소수형 벡터로 변환as.character() : 문자형 벡터로 변환as.logical() : 논리형 벡터로 변환as.null : null형 벡터로 변환 변환이 항상 가능한 것은 아닙니다. 자료형 사이에는 우선순위가 있습니다. 문자형이 가장 우선이고 숫자형, 논리형, NULL형 순으로 이어집니다. 문자형 > 숫자형 > 논리형 > NULL 낮은 우선순위를 높은 우선순위로 바꾸는 .. 2020. 1. 28.
R에서 제공하는 모든 자료형 (숫자형,복소수형,문자형,논리형,NULL형) R에서 제공하는 모든 자료형 (숫자형,복소수형,문자형,논리형,NULL형) R에서 제공하는 자료형은 큰 범주로 나눠보면 아래와 같습니다. 1) 숫자형 (정수,실수,NaN,Inf)2) 복소수형3) 문자형4) 논리형 (TRUE,FALSE,NA)5) NULL 형 1) 숫자형 (정수,실수,NA,Inf) 숫자형은 다시 정수형과 실수형으로 나눠집니다. 디폴트는 실수형입니다. 정수형을 정의하고 싶을 경우 정수 뒤에 L을 붙여주면 됩니다. > a=3> a[1] 3> b=3L> b[1] 3> c=3.1> c[1] 3.1 typeof를 이용하면 변수의 자료형을 확인할 수 있습니다. > typeof(a) [1] "double" > typeof(b) [1] "integer" > typeof(c) [1] "double" 숫자형에.. 2020. 1. 20.
R에서 리스트를 벡터로 바꾸는 방법, unlist() R에서 리스트를 벡터로 바꾸는 방법, unlist() 먼저 리스트를 하나 만들겠습니다. my_list=list(c(1,2,3),c('a','b','c')) unlist함수를 적용하면, 리스트에 입력된 순서대로 벡터의 원소가 됩니다. 문자형만 있는 경우 factor로 반환됩니다. > unlist(my_list)[1] "1" "2" "3" "a" "b" "c" 저는 주로 이런 상황에 사용합니다. 데이터프레임에서 [ ] 인덱스로 열에 접근할 경우 결과가 리스트로 반환됩니다. 데이터프레임을 하나 만들어봅시다. > myd=data.frame(c1=c(1,2,3),c2=c("a","b","c")) > myd c1 c2 1 1 a 2 2 b 3 3 c 2열에 접근하여 myd_2에 저장합시다. 리스트 형태로 저장됩니다.. 2019. 12. 11.
자료형의 특수형태 (NULL, NA, NaN, Inf, -Inf) 자료형의 특수형태 (NULL, NA, NaN, Inf, -Inf) R에는 자료형의 특수형태를 제공합니다. 수 계산결과로 나왔지만 정의가 되지 않거나, 무한대를 나타내거나, 결측치를 나타내는 등의 특수한 상황에서 사용됩니다. NULL이라는 자료형을 제외하면, 나머지 특수형태들은 숫자형이나 논리형에 속합니다. 1. NULL2. NA3. NaN4. Inf, -Inf 1. NULL 설명 : 값이 없다자료형 : NULL형 a=NULL > class(a)[1] "NULL" > mode(a)[1] "NULL" > str(a) NULL > typeof(a)[1] "NULL" > is.null(a)[1] TRUE 2. NA 설명 : 결측값자료형 : 논리형 a=NA > class(a)[1] "logical" > mode(.. 2019. 11. 29.
R 논리형(logical) 정의하기, 확인하기 R 논리형(logical) 정의하기, 확인하기 #1. 복소수형 정의하기 a=c(TRUE,FALSE) TRUE, FALSE 대신 T,F를 사용해도 됩니다. #2. 복소수형 확인하기 class(a)mode(a)str(a)typeof(a)is.logical(a) > 실행 결과 > class(a)[1] "logical" > mode(a)[1] "logical" > str(a) logi [1:2] TRUE FALSE > typeof(a)[1] "logical" > is.logical(a)[1] TRUE 2019. 11. 29.
R 복소수형(complex)정의하기, 확인하기 R 복소수형(complex) 정의하기, 확인하기 #1. 복소수형 정의하기 a=c(1+3i,2+5i) #2. 복소수형 확인하기 class(a)mode(a)str(a)typeof(a)is.numeric(a)is.complex(a) > 실행 결과 > class(a)[1] "complex" > mode(a)[1] "complex" > str(a) cplx [1:2] 1+3i 2+5i > typeof(a)[1] "complex" > is.numeric(a)[1] FALSE > is.complex(a)[1] TRUE 2019. 11. 29.
R 숫자형(numeric) 중 정수형(integer)정의하기, 확인하기 R 숫자형(numeric) 중 정수형(integer)정의하기, 확인하기 #1. 정수형 정의하기 a=c(1L,2L,3L) #2. 정수형 확인하기 class(a)mode(a)str(a)typeof(a)is.character(a) >실행결과 > class(a)[1] "integer" > mode(a)[1] "numeric" > str(a) int [1:3] 1 2 3 > typeof(a)[1] "integer" > is.numeric(a)[1] TRUE > is.double(a)[1] FALSE > is.integer(a)[1] TRUE 2019. 11. 29.
R 숫자형(numeric) 중 실수형(double)정의하기, 확인하기 R 숫자형(numeric) 중 실수형(double)정의하기, 확인하기 #1. 실수형 정의하기 a=c(1,2,3) #2. 실수형 확인하기 class(a)mode(a)str(a)typeof(a)is.character(a) >실행결과 > class(a)[1] "numeric" > mode(a)[1] "numeric" > str(a) num [1:3] 1 2 3 > typeof(a)[1] "double" > is.numeric(a)[1] TRUE > is.double(a)[1] TRUE > is.integer(a)[1] FALSE 2019. 11. 29.
R 문자형(character)정의하기, 확인하기 R 문자형(character)정의하기, 확인하기 1. 문자형 정의하기 a=c("hi","123","good") #2. 문자형 확인하기 class(a)mode(a)str(a)typeof(a)is.character(a) > 실행결과 > class(a)[1] "character" > mode(a)[1] "character" > str(a) chr [1:3] "hi" "123" "good" > typeof(a)[1] "character" > is.character(a)[1] TRUE 2019. 11. 29.
반응형