R

R 중간고사

Nickman 2023. 10. 17. 20:53

R

 

스크립트 언어

 

/ 나누기

%% 나머지연산

^ 제곱

log() 로그함수

sqrt() 제곱근

& and

I or

! not

 

변수, 벡터, 함수 알아보기

변수

cat() 함수

문자명은 작은 따옴표나 큰 따옴표로 묶어서 표

 

변수명

하나의 변수에는 하나의 값만 저장 가능

.total 첫글자 마침표로 시작 가능

숫자로 시작 불가능

두번째 글자부터 마침표, 밑줄 가능

변수명 중간 빈 칸 없음

함수의 이름은 변수명으로 사용하지 않는 것이 좋음.


벡터: 1차원 배열 array

c()

연속적인 숫자로 이루어진 벡터

일정한 간격의 숫자로 이루어진 벡터

 

seq(시작,종료값,간격): 일정한 간격의 숫자로 이루어진 벡터 /sequence

repeat(반복대상값, times=반복횟수)

names()

-는 '제외하고' 의미
이름으로 값을 추출하기


함수

sort(): 오름차순으로 출력

sort( , decreasing=TRUE): 내림차순으로 출력

mean(): 벡터 값들의 평균값

length(): 벡터의 길이


벡터 다루기

자료의 종류

 

자료분석사례

- 입욕제 사용자 분석

- 코로나핀

- 온난화와 기상 이변

 

1차원자료: 벡터,리스트,팩터

2차원자료: 매트릭스, 데이터프레

 

벡터연산

두 벡터의 길이가 같아야 한다

두 벡터에 포함된 값의 종류가 같아야 한다

median(): 저장된 값들의 중앙

var(): 분산

sd(): 표준편차

sum(d>5) ->1+1+1+1 =4


팩터와 리스트

팩터: 문자형데이터가 저장되는 벡터

저장되는 값들에 따옴표가 표시되지 않

levels로 표현하여 종류를 표현함
저장된 값의 종류만 출력
문자값을 숫자로 바꾸어 출력


리스트: 자료형이 다른 값들을 한 곳에 저장

벡터: 동일한 자료형의 값들을 1차원 형태로 저장

수강정보$day 값의 이름 이용하여 출력하기
accident[accident>50]


매트릭스와 데이터프레임:2차원 자료구조

매트릭스: 동일한 자료의 종류

데이터프레임: 서로 다른 종류

 

행 row obs ervation

열 col, var iable

 

matrix(1:20, nrow=4, ncol=5)

matrix(1:20, nrow=4, ncol=5, byrow=T) -> 행방향 #열방향 기본값: byrow=False

 

rbind(): 두 개의 벡터를 행 방향으로 묶는다

cbind(): 두 개의 벡터를 열 방향으로 묶는다

매트릭스에서 값의 추출: 인덱스 2개 필요

z[2,]: 2행에 있는 모든 값

z[,4]: 4행에 있는 모든 값

 

행과 열에 이름 붙이기: rownames(), colnames()


데이터 프레임

데이터프레임이 열 방향으로 집계됨

dim(): 행과 열의 개수 보이기

nrow(): 행의 개수 보이기

ncol(): 열의 개수 보이기

head(): 데이터셋의 앞부분 일부 보기

tail(): 데이터셋의 뒷부분 일부 보기

str(): 데이터셋의 요약 정보 보

levels(): 팩터 자료에 중복된 값이 제거된 값 종류를 알 수 있는 함수

table(): 각 그룹별로 관측값 개수-> 도수분포

rowSums(): 행별합계

rowMeans(): 행별평균

colSums(): 열별합계

colMeans(): 열별평균

t(): 행과 열 방향 전환

subset(데이터셋, 조): 조건에 맞는 행과 열의 값 추출하기

 

class(): 매트릭스와 데이터프레임의 자료구조 확인

is.matirx(): 데이터셋이 매트릭스인지 확인하는 함수

is.data.frame(): 데이터셋이 데이터프레임인지 확인하는 함수

매트릭스를 데이터 프레임으로 변환할 때에는 data.frame

데이터프레임을 매트릭스로 변환할때에는 as.matrix

 

데이터프레임에만 적용되는 열 추출 방법

iris[5] -> 열 우선으로 추출된다

iris["Species"]

iris&Species

요일별 팁을 받는 횟수(빈도) -> 팁에 관한 데이터셋이므로 day 별 빈도를 구하면 된다.

시간대(time)별 결제 금액(total_bill), 팁(tip), 일행 수(size)에 대한 평균

결제 금액 대비 평균적으로 받는 팁의 비율(퍼센트)