본문 바로가기

카테고리 없음

3일차 - 4월 13일

R기초문법 중

%/%  -  정수 나누기

%%   -  나머지 구하기

 

 

숫자를 쓸 때 0이 4개까지는 그대로 나오지만
100000

0이 5개부터는 e로 표시됨. 

예)
1000000 ->1e+05
1e2 <-100
1e3 <-100
3e1 <-30

 

 

Sys.Date() <- 날짜만 보여주는 함수

Sys.time() <- 날짜와 시간까지 다 보여줌.

시간을 쓸 때는 홑따옴표나 겹따옴표를 사용해야 함.

날짜형태를 지정하려면 as.Date("13-04-2022", format="%d-%m-%Y") 로 지정.

%b  <-월을 영어 약어로 인식함.

%B <- 월을 전체 이름으로 인식함.

 

 

"2022-04-11" 이 형태는 날짜처럼 보이지만 문자이므로 as.Date()를 사용하여 날짜로 변경해야함.

 

as.Date(간격, 기준날짜)

 

기준 일자를 주고 몇 일후 찾는 방법

예) as.Date(10, origin="2022-04-13") <---주어진 날짜 기준으로 10일 후의 날짜

 

[1] "2022-04-23"

 

as.Date("2022-04-11")-as.Date("2022-09-24") ----->  이런식으로 날짜 계산도 할 수 있음. 


POSIXlt는 날짜를 년, 월, 일로 표시하는 리스트형이고

POSIXct는 날짜를 연속적인 데이터로 인식해서 1970년을 기준으로 초 단위로 계산함. 

보통 R고급과정에서 회귀분석 등을 할 때 주로 POSIXct를 많이 사용함.

 

예)as.POSIXct("2022-04-13 20:00:00") - as.POSIXct("2022-04-13 18:30:30")

Time difference of 1.491667 hours

 

 

 

lubridate패키지로 날씨와 시간을 제어할 수 있음. 

 

library(lubridate)
date <- now()  # 현재 날짜와 시간 넣기
date
year(date)
month(date,label = T) #월을 출력하되 영문 이름으로 출력하기, label = F이면 숫자로 출력됨.

 

 

var1 <-c(1 2 3)

var2 <-c(3 4 5)

var1 - var2

[1] -2 -2 -2

setdiff(var1,var2) <-- var1 에 있는데 var2 에 없는 요소 출력하기

[1] 1 2

setdiff(var2,var1) <-- var2 에 있는데 var1 에 없는 요소 출력하기

[1] 4 5

intersect(var1,var2) <-- var1 과 var2 에 공통적으로 있는 요소 찾기

[1] 3

 

벡터의 각 컬럼에 이름 지정하기

names()를 사용하여 이름을 지정함.

예)

fruits<-c(10,20,30)

names(fruits)<-c('apple', 'banana', 'peach')

 

 apple banana  peach 
    10     20     30 

 

벡터에 연속적인 데이터 할당하기 - seq( ) , rep( )

 

var7 <- seq(1,10,2)  ## 2 씩 증가시키면서 값을 할당합니다

 

[1] 1 3 5 7 9

 

var8 <- rep(1:3,2) 

 

var8

 

[1] 1 2 3 1 2 3

 

벡터의 길이를 찾기 위한 함수는 length(), NROW()함수를 사용할 수 있음.

 

as.numeric()은 문자를 강제로 숫자형으로 변환시켜주는 함수.

 

class() : 유형검사해주는 함수 + str(), mode(), typeof()...

 

NA : 잘못된 값이 들어온 경우, 알수없는 값, 계산이 불가능 오류가 남.

 

NULL : 변수명만 존재. 아무것도 없는 상태, 계산이 가능

 

na.rm=T를 쓰면 NA 값을 제거할 수 있음.

 

as.으로 시작하는 함수는 보통 변환하는 함수임.

 

append(추가시키고싶은 변수, 추가할 값, after=ㅁ<-이 위치 뒤에 넣을 수 있음)

 

vec2<-c(1,2,3,4,5)

예)append(vec2,10,after=3) <-- 3번째 위치 뒤에 10을 넣었습니다.

 

%in% 벡터에 특정문자의 포함 여부 찾을 수 있음

 

예)

 

3 %in% var7     ## var7 에서 3 이 있는지 검색함

 

[1] TRUE

 

matrix의 이름 지정함수는 colnames()로 컬럼 이름을 지정할 수 있음.

 

 

 

새로운 행과 열을 추가하려면 rbind(), cbind()를 사용함. 

 

mat4 <- matrix(c(1,2,3,4,5,6,7,8,9),nrow=3,byrow=T)

 

mat4 <- rbind(mat4,c(11,12,13)) <-- 마지막 행이 추가가 됨.

 

cbind(기존데이터프레임, 추가할꺼)

 

colnames()<-c()

##컬럼 이름 지정할 수 있음

 

list의 특정 key값만 조회하려면 $를 사용하거나 대괄호를 사용하여 직접 입력하는 방법이 있음

예) list1$name,  list1[1:2]

 

subset() ->원하는 조건만 조회할 수 있는 함수

 

merge() -> 공통데이터를 출력해서 합침