본문 바로가기
데이터분석

데이터구조와 데이터 프레임

by 쓱쓱기획 2021. 11. 3.
반응형





1. 데이터 구조의 정의

특징 벡터 리스트 데이터 프레임
원소 자료형 동질적 이질적 이질적
원소를 위치로 인덱싱 가능 가능 가능
인덱싱으로 여러 개 원소로 구성된 하위 데이터 생성 가능 가능 가능
원소들에 이름 부여 가능 가능 가능


2. 리스트 다루기 
- 리스트 원소 선택 : L[[n]], L[["name"]], L$name

3. 행렬 다루기 
- 행렬 설정 : dim(vec) <- c(2,3)
- 행과 열 이름 붙이기 : rownames(mtrx) <- c("lowname1", "lowname2", ...)  
                               colnames(mtrx) <- c("colname1", "colname2, ...)

4. 데이터 구조 변환

변환 방법 변환 방법
벡터 -> 리스트 as.list(vec) 행렬 -> 벡터 as.vector(mat)
벡터 -> 행렬 1열짜리 행렬 :
as.matrix(vec) 또는 cbind(vec)

1행짜리 행렬 : rbind(vec)
n x m행렬 : matrix(vec,n,m) 
행렬 -> 리스트 as.list(mat)
벡터 -> 데이터 프레임 1열짜리 데이터 프레임 :
as.data.frame(vec)
1행짜리 데이터 프레임 :
as.data.frame(rbind(vec))
행렬 -> 데이터 프레임 as.data.frame(mat)
리스트 -> 벡터 unlist(list) 데이터 프레임 -> 벡터 1열짜리 데이터 프레임 :
dfm[[1]] or fm[,1]
1행짜리 데이터 프레임 :
dfm[1,]
리스트 -> 행렬 1열짜리 행렬 : as.matrix(list)
1행짜리 행렬 :
as.matirx(rbind(list)
n x m 행렬 matirx(list,n,m)
데이터 프레임 
-> 리스트
as.list(dfm)
리스트 ->
데이터 프레임
목록 원소들이 데이터의 열이면
as.data.frame(list)
리스트 원소들이 데이터의 행이면
rbind(obs[[1]], obs[[2]])
데이터 프레임
-> 행렬
as.matix(dfm)


5. 집단으로 분할하기
- 벡터 : split(vec, fac) - 벡터 값과 랙터 값의 길이가 같아야 함
- 데이터 프레임 : split(dfm, fac)

6. 함수 적용하기 
- 벡터 : 행렬 : apply(mtr, 1, func), apply(mtr, 2, func)
- 리스트 : lapply(lst, func), sapply(list, func)
- 데이터 프레임 : lapply(dfm, func), sapply(dfm, func), apply(dfm, 1 or 2, func) 

7. 집단으로 함수 적용하기 
- tapply(vec, fac, func)
- by(dfm, fac, func)

8. 병렬 벡터들과 리스트들에 함수 적용하기 
- 벡터 : mapply(func, vec1, vec2, vec3 ...)
- 리스트 : mapply(func, lst1, lst2, lst3 ...) 

9. 문자열 다루기 

문자열 길이 nchar("문자열")
벡터의 길이 length(vec)
문자열 연결하기 paste("단어", "문장", scalar)
하위 문자열 추출하기 substr("문자열", 시작번호, 끝번호)
구분자로 문자열 추출하기 strsplit("문자열", 구분자)
문자열 대체하기 sub("대상문자열", "변경문자열", s), gsub("대상문자열", '변경문자열", s)

10. 날짜 다루기
- 문자열 -> 날짜 : as.Date("2014-12-25")
                        as.Date("12/25/2014", format="%m/%d/%y")
- 날짜 -> 문자열 : format(Sys.Date(), format = "%m/%d/%Y")
- format 인자 값

R 표현 표시 형태 R 표현 표시 형태
%b 축약된 월 이름("Jan") %B 전체 월 이름("January")
%d 두 자리 숫자로 된 일("31") %m 두 자리 숫자로 된 월("12")
%y 두 자리 숫자로 된 년("14") %Y 네 자리 숫자로 된 년("2014")

 

반응형

'데이터분석' 카테고리의 다른 글

변수의 구간화  (0) 2021.11.05
데이터 변경 및 요약  (0) 2021.11.04
입력과 출력  (0) 2021.11.02
R기초  (0) 2021.11.01
R소개  (0) 2021.10.31