R:데이터프레임: 두 판 사이의 차이
둘러보기로 이동
검색으로 이동
잔글 (→데이터 결합) |
잔글 (→데이터 결합) |
||
1번째 줄: | 1번째 줄: | ||
{{R}} | {{R}} | ||
== 개요 == | ==개요== | ||
표 형태로 다양한 데이터타입을 저장할 수 있는, 일상에서 가장 많이 쓰는 자료구조형태. | 표 형태로 다양한 데이터타입을 저장할 수 있는, 일상에서 가장 많이 쓰는 자료구조형태. | ||
=== 표시형식 === | ===표시형식=== | ||
행 앞에 대괄호가 없이, 그냥 숫자로 인덱싱되어있다. | 행 앞에 대괄호가 없이, 그냥 숫자로 인덱싱되어있다. | ||
<br /> | <br /> | ||
43번째 줄: | 43번째 줄: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|rbind(데이터프레임1, 데이터프레임2) | |rbind(데이터프레임1, 데이터프레임2) | ||
|- | |||
|bind_rows() | |||
| | |||
|단순히 행을 합친다. | |||
|bind_rows(데이터셋1, 데이터셋2) | |||
|- | |- | ||
|merge() | |merge() | ||
80번째 줄: | 85번째 줄: | ||
옵션) | 옵션) | ||
|- | |- | ||
|inner_join() | |||
| | |||
|합치는 데이터의 교집합을 얻는다.(비는 데이터가 없다.) #열이름 안의 데이터를 중심으로 데이터를 합친다. | |||
|inner_join(A, B, by="열이름") | |||
|- | |||
|Full_join() | |||
| | |||
|데이터를 합치되, 없는 값은 NA처리한다. | |||
| | |||
|- | |||
|Left_join() | |||
| | | | ||
|왼쪽의 데이터를 중심으로 합친다. 왼쪽 자료에서 없는 자료는 NA처리. | |||
왼쪽데이터에 없는 내용은 잘린다. | |||
| | | | ||
|- | |||
|Right_join() | |||
| | | | ||
|위와 반대. | |||
| | | | ||
|} | |} | ||
== 관련함수 == | ==관련함수== | ||
{| class="wikitable" | {| class="wikitable" | ||
!이름 | !이름 |
2020년 8월 24일 (월) 18:48 기준 최신판
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