R:데이터프레임
R언어 공부를 위한 틀 틀:R
개요
표 형태로 다양한 데이터타입을 저장할 수 있는, 일상에서 가장 많이 쓰는 자료구조형태.
표시형식
행 앞에 대괄호가 없이, 그냥 숫자로 인덱싱되어있다.
데이터 결합
이름 | 기원 | 기능 | 사용법 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
rbind() | row bind | 데이터를 세로결합한다.(관찰치의 증가)
데이터프레임의 변수(열이름)가 다른 경우, 에러가 뜬다. 서로 다른 변수의 데이터를 결합시키기 전에 두 자료의 변수를 일치시키는 사전작업이 필요하다. 아래의 함수를 거치면 변수가 맞춰진 tmp.df1 과 tmp.df2 를 반환한다.[1]사용자 정의함수 = function(df1, df2) {
all.name = union(colnames(df1), colnames(df2))
diff.name1 = setdiff(all.name, colnames(df1))
diff.name2 = setdiff(all.name, colnames(df2))
tmp.df1=df1
tmp.df2=df2
if(length(diff.name1)>0) {
for(i in 1:length(diff.name1)) {
tmp = matrix(NA, nrow-nrow(df1))
mode(tmp) = mode(df2[,diff.name1[i]])
colnames(tmp) = diff.name1[i]
tmp.df1 = cbind(tmp.df1,tmp) }}
if(length(diff.name2)>0) {
for(i in 1:length(diff.name2)) {
tmp = matrix(NA, nrow-nrow(df2))
mode(tmp) = mode(df2[,diff.name2[i]])
colnames(tmp) = diff.name2[i]
tmp.df2 = cbind(tmp.df2,tmp) }}
}
|
rbind(데이터프레임1, 데이터프레임2) | ||||||||||||||||
bind_rows() | 단순히 행을 합친다. | bind_rows(데이터셋1, 데이터셋2) | |||||||||||||||||
merge() | merge | 데이터를 가로결합한다.(변수의 증가) cbind의 경우, 관찰치 수가 동일하고 관측대상이 동일해야만 적용 가능하여 merge를 쓴다.
고객정보를 더 추가하는 등...
|
merge(데이터프레임1, 데이터프레임2,
옵션) | ||||||||||||||||
inner_join() | 합치는 데이터의 교집합을 얻는다.(비는 데이터가 없다.) #열이름 안의 데이터를 중심으로 데이터를 합친다. | inner_join(A, B, by="열이름") | |||||||||||||||||
Full_join() | 데이터를 합치되, 없는 값은 NA처리한다. | ||||||||||||||||||
Left_join() | 왼쪽의 데이터를 중심으로 합친다. 왼쪽 자료에서 없는 자료는 NA처리.
왼쪽데이터에 없는 내용은 잘린다. |
||||||||||||||||||
Right_join() | 위와 반대. |
관련함수
이름 | 기원 | 기능 | 사용법 |
---|---|---|---|
view() | 데이터를 시각화하여 보여준다.
오름차순, 내림차순의 정렬도 가능 |
view(데이터프레임) |
- ↑ 양경숙, 김미경(2014). 기초자료분석을 위한 R 입문 p.138