본문 바로가기
AI 관련/ADsP, ADP

R 기초 함수와 문법 - 1

by 팀장일기 2021. 4. 24.

■ 기초

기능 R코드 비고 
출력하기 print() : 출력형식을 지정할 필요없음. 한번에 하나의 객체만 출력 

cat() : 여러 항목을 묶어서 연결된 결과로 출력, 복합적 데이터 구조 (행렬, list 등) 를 출력 할수 있음.  
커맨드 프롬프트에 변수나 표현식을 입력 
예) print(a), cat("a","b","c") 
변수에 값 할당하기 
(대입연산자)
<- , <<- , = , ->   
변수 목록보기  ls( ) , ls.str90  
변수 삭제하기  rm( ) rm(list=ls( )):
모든변수들을 삭제할때 사용
벡터생성하기 c( ) 벡터의 원소중 하나라도 문자가 있으면 모든 원소의 모드는 문자 형태로 변환됨.
R함수 정의하기 function(매개변수1, 매개변수2,,,,,매개변수n ){expr 1, expr2 ,...,expr m} <expr 의 특징> 
지역변수 : 단순히 값을 ㄱ대입하기만 하면 지역변수로 생성되고, 함수가 종료되면 지역변수는삭제됨.

조건부실행 : if 문
반복실행 : for문, while문, repeat문
전역변수 : <<-를 사용 하여 전역변수로 지정할 수 있지만 추천하지 않음. 

 

 

■ 소개 

기능 R코드 비고
데이터할당 a<-1,a=1  
화면 프린트 a, print(a) print함수
결합 x<-c(1,2,3,4,)
x<-c(6.25,3.14,5.18)
x<-c("fee","fie","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)
rep(1:4,each=2), rep(c,each=2)
rep 함수는 숫자나 변수의 값들을 time 인자에 지정한 횟수만큼 반복 
문자 붙이기 A<-paste("a","b","c",sep="-")
paste(A,c("e","f"), paste(A,10,sep=" ")
paste 함수는 문자열을 sep 인자에 지정한 구분자로 연결시켜줌.
문자열 추출 substr("Bigdataanalysis",1.4) substr(문자열, 시작점, 끝점)함수는 문자열의 특정부분을 추출가능
논리값 a<-True, a<-t, b<-False, b<-F T도 True로 인식
논리연산자 같다 ==
같지 않다  !=
작다, 보다작다  <,<=
크다, 크거나같다  >,>=
 
벡터의 원소 선택하기 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)
& 논리 "and", 단축(short-circuit)"and" TRUE&TRUE
| 논리 "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(변수) 변수간 길이를 값을로 출력

 

 

■ R 데이터 입력 출력

기능 R코드 비고
키보드로 데이터를 입력 1)데이터 양이 적어 직접 입력 -c( ) : combine 함수
2) 데이터 편집기를 활용하기 : 
빈데이터 프레임을 생성 → 편집기를 불러와서 편집하고 데이터 프레임에 덮어 씌우기
 
출력할 내용의 자리수 정의 R의 부동소수점 표현 : 7자리로 표시 
print(pi, digits=num)
cat(format(pi,digits=num),"\n")
options(digits=num)
ex)3.14593,314.1593
파일에 출력하기 cat("출력할 내용", 변수, "\n", file="파일이름",append=T)
sink("파일이름")
⋯출력할 내용
sink()
파일 목록 보기 list. files(),
list, files(recursive=T, allfiles=T)
 
Cannot Open File(파일을 열수 없음)해결하기  파일위치 :c:\data\sample.txt
R에서는 c:datasample.txt
역슬래쉬를 슬래쉬로 바꾼다. 
c:/data/sample.txt
역슬래쉬를 쌍으로 표현한다.
c:\\data\\sample.txt
고정자리수 데이터 파일(fixed-width file)읽기 read.fwf
(*파일이름",widths=c(w1,w2,⋯, wn)
 
테이블로 된 데이터 파일읽기(변수 구분자 포함) read.table
("파일이름",sep="구분자")
(주의1) 주소, 이름, 성 등의 텍스트를 요인으로 인식함
(해결1)read.table("파일이름",sep="구분자"),stringsASFactor=F)
(주의2) 결측치를 NA가아닌 다른 문자열로 표현할 때 (SAS)
(해결2)read. table("파일이름",sep="구분자", na.strings=".")
(주의3)파일의 첫행을 변수 명으로 인식하고자 할때 
(해결3) read.table("파일이름",sep="구분자", header=T)
CSV데이터 파일 읽기(변수구분자는 쉼표) read.csv
("파일이름",header=T)
(주의1)주소, 이름, 성 등의 텍스트를 요인으로 인식함. 
(해결2) read.csv("파일이름",header=T,as.is=T)
CSV데이터 파일로 출력 (변수 구분자는 쉼표) write.csv
(행렬또는 데이터 프레임,"파일이름",row.names=F)
(주의1) 1행이 변수명으로 자동 인식하지만 변수명이 아닐경우
(해결1) write.csv(dfm,"파일이름",col.names=F)
(주의2)1열에 레코드 번호를 자동생성 하지만 레코드 번호를 생성하지 않을경우 
(해결2) write.csv(dfm,"파일이름",row.names=F)
웹에서 데이터 파일을 읽어 올때
(변수 구분자는 쉼표)
read.csv
("http://www.example.com/download/data.csv")
read.table("http://www.example.com/download/data.txt")
what=numeric(0) 토큰을 숫자로 해석
what=integer(0) 토큰을 정수로 해석
what=complex(0) 토큰을 복소수로 해석
what=character(0) 토큰을 문자로 해석
what=logical(0) 토큰을 논리값으로 
html에서 테이블 읽어 올때 library(XML)
url<-'http://www.example.com/data/table.html'
t<-readHTMLTable(url)
 
복잡한 구조의 파일(웹 테이블)읽기 lines<-readLines("a.txt",n=num)
token<-scan("a.txt",what=numeric(0))
token<-scan("a.txt",what=list(v1=character(0),v2=numeric(0))
token<-scan("a.txt",what=list(v1-character(0),v2=numeric(0),n=num,nlines=num,skip=num,na.strings=list)
 

 

이 글과 함께 읽으면 좋은글

 R기초함수와 문법-2

 

R 기초 함수와 문법 - 2

■ 벡터, 리스트, 행렬 다루기 기능 R코드 비고 벡터에 데이터 추가 v v[length(v)+1] 벡터에 데이터 삽입 append(vec,newvalues,after=n) 요인 생성 f f 여러 벡터를 합쳐 하나의 벡터와 요인으로 만들기 comb 벡

chinggu2000.tistory.com

R기초함수와 문법-3

 

R 기초 함수와 문법 - 3

■데이터 변형 _ 주요 코드 기능 R코드 비고 요인으로 집단 정의 v w f 벡터를 여러집단으로 분할 (벡터의 길이만 같으면 됨) groups groups groups 두 함수 모두 벡터로 된 리스트를 반환 데이터 프레임

chinggu2000.tistory.com

 

'AI 관련 > ADsP, ADP' 카테고리의 다른 글

ADsP 1과목 공부_1  (0) 2021.05.07
ADsP 2과목 공부 _1  (0) 2021.05.06
ADsP 3과목 공부 _1  (0) 2021.05.04
R 기초 함수와 문법 - 3  (0) 2021.04.24
R 기초 함수와 문법 - 2  (0) 2021.04.24

댓글