S의 다른 구현으로 S에서 구현된 코드들은 R에서 변경되지 않고 실행됨
분석결과를 직관적으로 이해 할 수 있는 시각화 환경 및 소프트웨어 제공
다양한 분석 및 데이터마이닝 알고리즘 지원, 데이터 모형
선형 모형 비선형 모형, 시계열 분석 ,예측 분석, 그래픽 기술 제공하여 확장성이 뛰어남
필요한 경우 수학 기호 및 공식을 포함하여 잘 설계된 출판 품질의 플롯을 쉽게 생성 가능
다양한 원천 데이터에서 쉽게 데이터를 불러들일 수 있음
모든 방식의 데이터분석 기법을 제공하는 포괄적이고 강력한 통계 표준 플랫품
아직 사용하지 않는 고급통계 방법이 있음
R을 기반으로 R studio 통합개발환경은 편집과 개발을 용이하게 함
데이터 조작, 계산 및 그래픽 표시를 위한 통합 소프트웨어 제품군
효과적인 데이터 처리 및 저장시설 배열,행렬 계산을 위한 연산자
데이터분석을 위한 대규모의 일관되고 통합된 도구 모음
데이터분석 및 화면 또는 하드카피 표시를 위한 그래픽 기능
조건문 루프 가용자 정의 재귀함수 및 입력 출력 기능 개발이 잘되고 간단하고 효과적인 프로그래밍 언어입니다.
R 설치 홈페이지
https://www.r-project.org/
R studio 설치 홈페이지
https://posit.co/
R 프로그램은 역슬래시 \ 을 인식 하지 못한다 슬래시를 사용해야함 /
스칼라 [Scalar]
단일 차원(0차원)의 값을 가진 데이터 구조로 길이가 1인 벡터
Logical --> 논리형(참, 거짓)
Integer --> 정수
Double --> 실수
Complex --> 복소수
Character --> 문자, 문자열
Closure --> 함수
NULL --> 미정의 값
R에서는 i라는 값을 넣을 때 치환한다 뜻으로 <- 이런 식으로 표현합니다. 정수형은 L를 표시를 합니다.
맥 --> option + (-) 키 사용하면 쉽게 만들 수 있음 <-
명령어를 사용해서 값이 5가 들어간 걸 확인 할 수 있습니다.
새로운 변수를 만들어보겠습니다.
x <- 10.5
변수가 numeric (실수형) 인지 확인 하는 법
is.numeric(변수명)
변수가 integer(정수형) 인지 확인하는 법
is.integer(변수명)
class를 이용해 변수가 무슨 형인지 알 수 있습니다.
class(i)
유형을 판단 할때는 is , 유형을 변환 할때 as
Type of(): R에서 취급하는 원시 자료형이 대한 데이터형을 지정하는 것
mode(): 데이터의 형으로 표현되므로 정수형과 실수형은 모두 숫자형으로 표현되는 것
class(): R에서 사용하는 데이터의 구조를 알려주는 것으로 matrix, array, data.frame,List등이 이에 해당합니다.
str() : 각 데이터의 구조와 구성요소의 특징에 대한 정보를 제공
nchar() : 문자의 갯수를 의미
- Factor은 nchar를 사용 할 수 없음
as. 을 이용해서 변경 할 수도 있지만, 직접적으로 변경하는 방법도 있습니다.
X <- "data"
character형으로 저장합니다.
y <- factor(X)
y라는 변수에 X의 값을 factor로 변경해서 저장합니다.
논리형 스칼라는 크게 참과 거짓으로 나타내는 TRUE, FALSE를 가지고 있습니다. 대부분 대문자로 사용합니다. 대문자 T , F 로 사용 가능합니다.
TRUE 는 1 의 값을 가집니다. 반대로 FALSE은 0의 값을 가집니다.
TRUE *3
F*3
서로 값이 같은지 같지 않은지 물어보는 것은 파이썬과 동일합니다.
2 == 3
2 != 3
크거나 같다, 작거나 같다 를 표시 할때는 부등호를 먼저 표시해야합니다. 등호 먼저 표시하면 오류가 발생하고 읽지 못합니다.
문자형도 똑같은데요 문자형은 대소문자를 구분해줘야 합니다.
문자 비교인 경우 소문자의 수치값과 대문자의 수치값은 다릅니다.
"data" == "DATE"
문자형에서는 <=로 표현된 두 단어는 단어별로 수치값을 가지게 됩니다.
"data" <="atat"
날짜 데이터는 크게 기본 Dates, Times을 구분하여 처리합니다.
기본 Dates: Date class기반으로 1970년 1월 1일을 기준으로 현재까지의 날짜값을 내부적으로 저장하는 방법입니다. 기본 Times와 같습니다.
data1 <- "2023-03-22"
class(data1)
character인 data1의 값을 as.Date()을 이용해서 날짜형으로 변경해보겠습니다.
data2 <- as.Date(data1)
class(data2)
data를 다시 실수형으로 변경하게 되면 19438 라는 값이 나옵니다. 이것은 기준 날짜 1970년 1월 1일로부터 지난 날짜를 의미합니다.
as.Date()함수에 대해서 format형식을 이용하여 날짜데이터에서 내용을 추출할 수 있습니다.
as.Date("230322", format ="%y%m%d") y가 소문자일 경우 23년, 2자리 연도를 입력하고 , 대문자 Y인 경우 2023년, 4자리 연도를 입력 해야합니다. 만약 반대로 입력한다면 값이 없다고 표시됩니다. "230322" 도 큰 따옴표 없이 입력하면 오류가 발생합니다.
수치로만 표현될 때에는 origin에 기준 일자를 지정해주면 그 기준날짜를 기준으로 수치값을 연산해서 측정 할수 있습니다.
as.Date(경과 일, origin = "지정된 날짜")
지정된 날짜로 부터 경과일이 지난 날짜
Sys.Date(): 현재 날짜 (대소문자 주의)
Sys.time(): 현재 날짜와 시간
지정된 날짜 에서 현재 날짜까지 얼마나 지났는지 표시할 수 있습니다.
Sys.Date() - as.Date(지정된 날짜)
POSIXct() 형은 (large Integer, dataframe 유형)
1970 -01-01 이후 경과일만 기억
A <- as.POSIXct(1000, origin = "1970-01-01", tz ="GMT")
POSIXlt() 형은 (list형태로 세분화) list유형으로 날짜 데이터들이 지정
B <- as.POSIXlt(1000, origin = "1970-01-01", tz ="GMT")
1970년 1월 1일 로 부터 1000초 가 흐른 시점
min --> 분
mday --> 날짜
year --> 년도
yday --> 기준일부터 경과된 일수 142일 지남(기준일 불포함)
$isdst --> 써머타임 적용 여부, 0=미적용, 1=적용