-
R 기초 실습자격증/ADsP 03 데이터 분석 2020. 2. 9. 19:49
- 주석: #006DD7
- 코드입력: #333333
- 결과값: #9D9D9D
# 스크립트로 프로그래밍 된 파일 실행하기
# source("파일명")
# 프로그램 파일
# sink(file, append, split)함수
# : R 코드 실행 결과를 특정 파일에서 출력
# file: 출력할 파일명(디렉토리 포함 또는 디폴트 디렉토리)
# append: 파일에 결과를 덮어쓰거나 추가해서 출력(디폴트 값(FALSE)는 덮어쓰기)
# split: 출력파일에만 출력하거나 콘솔창에 출력 (디폴트 값(FALSE)는 파일에만 실행 결과 출력)
# pdf() 함수
# : 그래픽 출력을 pdf 파일로 지정
# dev.off()
# : 파일 닫기
# R 데이터 유형과 객체
# 숫자(Number): integer, double
# 논리값(Logical): True(T), False(F)
# 문자(Character): "a", "abc"
# 출력하기
# print()
# : 출력형식을 지정할 필요 없음, 한번에 하나의 객체만 출력
a <- 1
print(a)
[1] 1
# cat()
# : 여러 항목을 묶어서 연결된 결과로 출력, 복합적 데이터 구조(행렬, list 등)을 출력할 수 없음
a <- 1
b <- 2
cat(a, b)
1 2>
# 변수에 값 할당하기(대입 연산자)
# <-, <<-, =, -># 변수 목록보기
# ls(), ls.str()
# 변수 삭제하기
# rm()
# rm(list=ls())
# : 모든 변수를 삭제할 때 사용
# 벡터 생성하기
# c()
# : 벡터의 원소 중 하나라도 문자가 있으면 모든 원소의 모드는 문자형태로 변환됨
# R 함수 정의하기
# function(매개변수1, 매개변수2,,,매개변수 n) {expr1, expr2,,,expr m}
# <expr의 특징>
# 지역변수: 단순한 값을 대입하기만 하면 지역변수로 생성되고, 함수가 종료되면 지역변수는 삭제됨
# 조건부 실행: if문
# 반복 실행: for문, while문, repeat문
# 전역변수: <<-를 사용하여 전역변수로 지정할 수 있지만 추천하지 않음# 데이터 할당
# a<-1, a=1
# 화면 프린트
# a, print(a)
# 결합
x<-c(1,2,3,4)
x
[1] 1 2 3 4
x<-c(6.25, 3.14, 5.28)
x
[1] 6.25 3.14 5.28
# x<-c("fee", "file", "fun")
# x<-c(x,y,z)
# c()함수: 문자, 숫자, 논리값, 변수를 모두 결합 가능. 벡터와 데이터셋을 생성가능# 수열
# 1:5
# 9:-2
# seq(from=0, to=20, by=2)
# seq(from=0, to=20, length.out=5)
# : 콜론(:), seq 함수를 사용하여 시작값에서 최종값까지의 연속적인 숫자생성, seq 함수는 간격과 결과값의 길이를 제한 가능
# 반복
rep(1, time=5)
[1] 1 1 1 1 1rep(1:4, each=2)
[1] 1 1 2 2 3 3 4 4
rep(c, each=2)
# rep 함수는 숫자나 변수의 값들을 time 인자에 지정한 횟수만큼 반복# 문자 붙이기
A<-paste("a","b","c", seq="")
A
[1] "a b "
paste(A, c("e","f"))
[1] "a b c e" "a b c f"
paste(A, 10, sep="")
[1] "a b c 10"# paste 함수는 문자열을 sep인자에 지정한 구분자로 연결시켜 줌
# 문자열 추출
substr("BigdataAnalysis", 1,4)
[1] "Bigd"
# substr(문자열, 시작점, 끝점) 함수는 문자열의 특정부분을 추출가능
# 논리값
# a> # a<-T
# b<-False
# b<-F
# 논리연산자
# 같다 ==
# 같지않다 !=
# 작다, 보다 작다 <, <=
# 크다, 크거나 같다 >,>=
# 벡터의 원소 선택하기
# V[n]: 선택하고자 하는 자리수
# V[-n]: 제외하고자 하는 자리수
# (n: 원소의 자리수, V: 벡터의 이름)
벡터의 연산
연산자 우선순위 뜻 표현방법 [ [[ 인덱스 a[1] $ 요소 뽑아내기, 슬롯 뽑아내기 a$coef ^ 지수 5^2 - + 단항 마이너스와 플러스 부호 -3, +5 : 수열 생성 1:10 %any% 특수 연산자 %/% 나눗셈 몫
%% 나눗셈 나머지
%*% 행렬의 곱* / 곱하기, 나누기 3*5, 3/5 + - 더하기, 빼기 3+5, 3-5 == != <> <= >= 비교 3!=5 ! 논리 부정 !(3==5) & 논리 "and"
단축(short-circuit) "and"TRUE & TRUE | (Shift + \) 논리 "or"
단축(short-circuit) "or"TRUE | TRUE ~ 식(formula) lm(log(brain)~log(body),data=Animals) -> ->> 오른쪽 대입 3 -> a = 대입(오른쪽을 왼쪽으로) a=3 <- <<- 대입(오른쪽을 왼쪽으로) a<-3 ? 도움말 ?lm 벡터의 기초통계
기능 R 코드 평균 mean(변수) 합계 sum(변수) 중앙값 median(변수) 로그 log(변수) 표준편차 sd(변수) 분산 var(변수) 공분산 cov(변수1, 변수2) 상관계수 cor(변수1, 변수2) 변수의 길이 값 length(변수) length(100)
[1] 1
x<-c(1,2,3)
length(x)
[1] 3
R 프로그래밍시 자주하는 실수
기능 R 코드 비고 함수를 불러오고 괄호닫기ol function 함수에서의 {, }
함수의 (, )윈도우 파일 경로에서
역슬래시를 두번씩 쓰기f:\folder1\folder2\file.csv
(f: folder1folder2file.csv로 인식)\(역슬래시)를 2번쓰거나
/(슬래시)를 1번 써야함<- 사이 붙여쓰기 x< -pi Error: object "x" not found 여러줄을 넘어서 식을 이어갈 때 > sum <- 1+2+3
> +4+5
[1] 9
> sum
[1] 6== 대신 = 사용하지 말것 ==: 비교연산자
=: 대입연산자1:(n+1)대신 1:n+1로 쓰지 말 것 > n <- 5;
> 1:n+1;
[1] 6 7 8 9 10
> 1:(n+1);
[1] 1 2 3 4 5 6패키지를 불러오고 library()나 require()를 수행할 것 2번써야 할 것과 1번써야 할 것을 혼동하지 말것 aList[[a]] aList[a]
&& &
|| |인자의 개수를 정확히 사용할 것 mean(9,10,11) > mean(9,10,11)
[1] 9> x<-c(9, 10, 11)
> mean(x)
[1] 10'자격증 > ADsP 03 데이터 분석' 카테고리의 다른 글
3장 데이터마트 - 2 (0) 2020.06.04 3장 데이터마트 - 1 (0) 2020.06.04 1장 데이터 분석 개요 (0) 2020.06.03 R 데이터 마트 - reshape 실습 (0) 2020.02.09 R 입출력 실습 (0) 2020.02.09