Data Table(데이터 테이블) 데이터 테이블은 성능과 관련해서 중요한 개념입니다. Table 구조의 데이터의 특정 컬럼별 주소값을 갖는 index를 생성하여 key를 통한 연산 및 검색을 빠르게 수행 데이터 색인 혹은 연산 시 인덱스를 설정한 테이블과 설정하지 않은 테이블의 성능 차이가 데이터가 방대해질 수록 커지기 때문에 대용량의 데이터 처리를 위해 인덱스는 필수! 입니다. 데이터 테이블(data table) : 인덱스(목차) 설정이 가능한 데이터 프레임 Key별로 가지고 있는 주소값을 통해 저장공간을 효율적으로 색인(인덱싱)할 수 있습니다. 데이터 테이블은 찾고자 하는 정보 기반으로 주소를 저장하기 때문에, 조건 연산 수행 시 가장 빠른 특징이 있습니다.특히, key를 통한 조건 검색(색인), ..
데이터 가공을 위한 주요 함수 정리 #. 데이터 색인 1. 벡터 c(요소1, 요소2, ...) - 정수 색인 : vec[5] - 이름 색인 : vec['b'] - 벡터 색인 : vec[c(1,3,5)] - 슬라이스 색인 : vec[1:5] - 조건 색인 : vec[vec$'PAY'>500] 2. 리스트 list (key1 = value1, key2 = value2, .. ) - 정수(키) 색인 : list[[1]][1] - 이름 색인 : list$name[1] or list[['name']][1] 3. 행렬 matrix(1:20, nrow=4, byrow = F(세로 채우기), T(가로 채우기)) - 정수 색인 : m[2,3] # 2행,3열 - 이름 색인 : m[2,c('b','e')] - 벡터 색인 :..
rank : 벡터 값들의 순위 출력 rank(x, # 벡터 na.last = TRUE, # na는 마지막에 출력 ties.method = # 동률 순위에 대한 계산 방법 ( defualt = average) c("average", # 각 순위의 평균으로 통일 "first", # 처음 오는 순서대로 1순위 (처음으로 발견된 데이터 우선) "last", # 마지막 데이터에 1순위 (마지막에 발견된 데이터 우선) "random", # 순서 상관없이 랜덤 "max", # 동률 순위 중 가장 높은 값 출력 "min")) # 동률 순위 중 가장 낮은 값 출력(대부분의 rank 구현 방법 ) > disease library(doBy) > disease$rank orderBy(~ 콜레라, disease) 월별 콜레라 ..
파이, 3D파이 그래프 그리기 파이 그래프 Pie : 파이 차트 그리기 pie(x, # 데이터 labels = names(x), # 각 파이의 이름 angle = 45, # 파이를 구성하는 각도 density = NULL, # 파이를 구성하는 수 col = NULL, # 파이 색상 radius = 0.8, # 원형의 크기 clockwise = FALSE, # 시계방향(TRUE), 반 시계방향(FALSE) init.angle = if(clockwise) 90 else 0, # 파이의 시작 각도 border = NULL, # 파이의 테두리 색상 lty = NULL, main = NULL, ...) # 45도 각도부터 시계 반대 방향으로 그래프가 시작됩니다. > v1 pct lab1 lab2 pie(v1,ra..
히스토그램 그래프 그리기 hist() : 히스토그램 그래프 그리기 (도수분포표 자동 계산 후 히스토그램 출력) hist(x, # 벡터 breaks = "Sturges", # 구간의 분기를 나타내는 벡터 include.lowest = TRUE, # 최소값의 포함 여부 right = TRUE) # 오른쪽 닫힘 여부, # left closed : 오른쪽 포함 (right = TRUE) 설정 시 x 초과 y 이하 구간으로 설정) # right closed : 왼쪽 포함 (right = FALSE 설정 시 x 이상 y 미만 구간으로 설정) col = NULL, # 히스토그램 color border = NULL, # 히스토그램 테두리 color main = paste("Histogram of" , xname), #..
데이터의 n번째 이전(이후) 행의 값 가져오기 data.table::shift() shift(x, # 벡터(원본 데이터) n=1L, # 몇 번째 이전(이후)값을 가져올지 지정 fill=NA, # 채울 값이 없을 경우 default값 설정 type=c("lag", "lead"), # 이전 값을 가져올지 이후 값을 가져올지 give.names=FALSE) # 값 이름 지정 ### delivery_02.csv 파일을 읽고> del str(del)> head(del) 일자 시간대 업종 시도 시군구 읍면동 통화건수1 20180201 0 음식점-족발/보쌈전문 서울특별시 강남구 논현동 52 20180201 0 음식점-족발/보쌈전문 서울특별시 강남구 역삼동 53 20180201 0 음식점-족발/보쌈전문 서울특별시 강서..
막대 그래프 그리기 Barplot(vector or matrix, 옵션) : 막대 그래프 그리기 # beside = T 옵션 : 그룹으로 묶어서 출력. 매트릭스 형태의 데이터만 가능(데이터 프레임 전달 불가) # beside = F (default) 는 하나의 막대로 묶음 # column끼리 묶어서 row끼리 비교 => 그룹별 비교를 위해 교차 테이블로 변환 필요 x head(del) 일자 시간대 업종 시도 시군구 읍면동 통화건수 1 20180201 0 음식점-족발/보쌈전문 서울특별시 강남구 논현동 5 2 20180201 0 음식점-족발/보쌈전문 서울특별시 강남구 역삼동 5 3 20180201 0 음식점-족발/보쌈전문 서울특별시 강서구 내발산동 5 ###############################..
아래와 같은 데이터를 R로 읽어오면 아래와 같이 공백을 NA로 채우게 됩니다. > subway subway 전체 구분 X05.06 X06.07 X07.08 X08.09 X09.10 X10.11 X11.12 ...1 서울역(1) 승차 17,465 18,434 50,313 93,398 78,705 86,342 93,585 ...2 하차 7,829 48,553 110,250 233,852 121,983 79,628 75,577 ...3 시 청(1) 승차 2,993 4,473 7,633 10,404 13,328 16,953 25,467 ...4 하차 4,142 19,730 67,995 175,458 83,777 48,363 47,519 ...5 종 각 승차 7,371 7,836 14,545 24,578 23,6..