ADsP, 20230505

cptkuk91·2023년 5월 5일
0

ADsP

목록 보기
4/4

R 소개

R은 오픈 소스 프로그램으로 통계, 데이터마이닝을 위한 언어이다.

  • 윈도우, 맥, 리눅스 OS에서 사용 가능
  • 객체 지향 언어이며 함수형 언어이다. 즉 통계 기능뿐 아니라 일반 프로그래밍 언어처럼 자동화하거나 새로운 함수를 생성하여 사용 가능하다.
  • 객체 지향 언어는 필요한 부분을 프로그래밍으로 골라 추출하여 활용이 가능하다.
  • 함수형 언어는 깔끔하고 단축된 코드, 매우 빠른 수행 속도, 디버깅 노력 감소, 병렬 프로그래밍 전환이 용이하다는 특징을 가진다.

R Studio

메모리에 변수가 어떻게 되어있는 지와 타입이 무엇인지를 볼 수 있고 스크립트 관리와 도큐먼테이션이 편리하다.

  • 스크립트용 프로그래밍으로 어렵지 않고 쉽게 자동화가 가능하다.

R 기초

R 함수, 데이터 및 컴파일된 코드의 모임

  • 패키지 자동설치: install.packages("패키지")
  • 패키지 수동설치: install.packages("패키지", "패키지 위치")

스크립트 프로그래밍 된 파일 실행

source("파일명.R")
pdf() # 그래픽 출력을 pdf 파일로 지정

배치모드

  • 사용자와 인터랙션이 필요하지 않은 방식으로, 매일 실행되어야 하는 프로그램에서 프로세스를 자동화할 때 유용하다.
  • 배치파일 실행 명령: bacth.R 실행파일이 있는 위치에서 윈도우 창 "R CMD BATCH batch.R" 명령어 실행

R 명령어

print() # 출력 형식을 지정할 필요 없음. 한 번에 하나의 객체만 출력
cat() # 여러 항목을 묶어서 연결된 결과로 출력, 복합적 데이터 구조 (행렬, list 등) 출력 불가
<-, <<-, =, -> # 대입 연산자
ls() # 변수 목록 보기
rm() # 변수 삭제하기
c() # 벡터 생성하기
  • 벡터 원소 중 하나라도 문자가 있으면 모든 원소의 자료형은 문자형태로 변환된다.
지역변수: 단순히 값을 대입하기만 하면 지역변수로 생성, 함수가 종료되면 지역변수는 삭제됨
조건부 실행문: if문
반복 실행문: for문, while문, repeat문
전역변수: <<- 사용하여 전역변수로 변경할 수 있지만 추천하지 않음
수열: 시작값
반복: rep() 함수는 숫자나 변수의 값들을 반복해서 생성 가능
문자열 붙이기: paste() 함수
문자열 추출: substr(문자열, 시작점, 끝점) 함수는 문자열의 특정 부분을 추출 가능
논리값: T는 True, F는 False
  • 논리 연산자
=== : 같다.
!= : 같지 않다.
<, <= : 작다, 작거나 같다.
>, >= : 크다, 크거나 같다.
  • 벡터의 원소 선택하기: V[n], n은 원소의 자릿수, 논리형 벡터, 벡터의 이름
  • 벡터의 원소 제외하기: V[-n], n은 제외하고자 하는 원소의 자릿수

벡터의 연산

[, [[ : 인덱스
$ : 요소, 변수 뽑아내기
^ : 지수 계산, ex) 5^2 = 25
-, + : 단항 마이너스, 플러스
: : 수열 생성
%/% : 나눗셈 결과의 몫 반환
%% : 나눗셈 결과의 나머지 반환
%*% : 행렬 곱
*, / : 곱하기, 나누기
! : 논리 부적 !T = F
& : 논리 "and"
| : 논리 "or"
~ : 식 (formula)
->, ->> : 오른쪽 대입
= : 오른쪽을 왼쪽으로 대입
<-, <<- : 오른쪽을 왼쪽으로 대입
? : 도움말

(중요) 기초 통계 명령어

mean(변수) : 변수의 평균 산출
sum(변수) : 변수의 합계 산출
median(변수) : 변수의 중앙값 산출
log(변수) : 변수의 로그값 산출
sd(변수) : 변수의 표준편차 산출
var(변수) : 변수의 분산 산출
cov(변수1, 변수2) : 변수 간 공분산 산출
cor(변수1, 변수2) : 변수 간 상관계수 산출
length(변수) : 변수의 길이를 값으로 산출
  • 공분산은 두 변수의 변화량이 얼마나 비슷한지를 나타내며, 공분산 값이 양수인 경우에는 두 변수가 같은 방향으로 움직이고, 음수인 경우에는 서로 다른 방향으로 움직입니다.
  • 상관계수는 두 변수 사이의 관계 강도와 방향성을 나타내며, -1부터 1사이의 값을 가집니다. 상관계수가 1에 가까울수록 두 변수는 양의 상관관계를 가지며, 0에 가까울수록 두 변수는 서로 독립적입니다. 반대로, 상관계수가 -1에 가까울수록 두 변수는 음의 상관관계를 가집니다.

입력과 출력

테이블로 된 데이터 파일 읽기 : read.table("파일이름", sep="구분자")
CSV 데이터 파일 읽기 : read.csv("파일이름", header=T)
CSV 데이터 파일로 출력 : write.csv(행렬 또는 데이터프레임, "파일이름", row.names=F)

profile
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)

0개의 댓글