-
# 합집합
union()
#차집합
setdiff()
#교집합
intersect()문제1 (백터: 1차원 배열)
drink = c("콜라","사이다","환타","핫식스","몬스터터")
drink
"콜라" "사이다" "환타" "핫식스" "몬스터터"문제2 (백터에서 특정값 찾기: 다른 언어와 다르게 R은 1부터 시작한다)
drink[-1][-2]
"사이다" "핫식스" "몬스터터"문제3 (합집합 사용)
vec1 = c("홍길동", "강감찬", "김유신")
vec2= c ("송강호", "나문희")
union(vec1, vec2)"홍길동" "강감찬" "김유신" "송강호" "나문희"
문제4 (배열 객체 갯수 파악하기)
length(vec1)3
행렬 만들기 (2차원 배열)
mar2 = matrix(c(1,2,3,4,5,6), nrow = 행 갯수, byrow = 트루:열 먼저 채우기)
행렬 조회
mat[행, 열]
문제1
fruit = matrix(c("감자", "고구마", "당근", "양파"), nrow=2)
fruit[,1] [,2]
[1,] "감자" "당근"
[2,] "고구마" "양파"문제2
mat = matrix(c(1:20), nrow=4)
mat
mat[c(1,3), c(1,2,4)][,1] [,2] [,3]
[1,] 1 5 13
[2,] 3 7 15
배열 (3차원 배열)
array = array(c(1:12), dim=c(2,2,3))
array
, , 1
[,1] [,2]
[1,] 1 3
[2,] 2 4
, , 2
[,1] [,2]
[1,] 5 7
[2,] 6 8
, , 3
[,1] [,2]
[1,] 9 11
[2,] 10 12array[1,2,2] (행,열,높이위치)
7
리스트 (같은 형식의 객체가 아니라도 담을 수 있다)
구매내역목록 = list(번호=1000, 고객명='홍길도', 상품명='맛동산', 구매일자=as.Date('2018-01-11'), 금액=500)
list_a구매내역목록
$번호
[1] 1000
$고객명
[1] "홍길도"
$상품명
[1] "맛동산"
$구매일자
[1] "2018-01-11"
$금액
[1] 500
구매내역목록$고객명
$고객명
[1] "홍길도"
구매내역목록[-3:-4]$번호
[1] 1000
$고객명
[1] "홍길도"
$금액
[1] 500
데이터프레임
mem=data.frame( 컬럼명 = 자료 )
di = data.frame( name = c('일일','이이','삼삼'), height=c(167,170,180) ) d2 = data.frame( name = c('일일','넷넷','삼삼'), weight=c(65,75,80) )
> di name height 1 일일 167 2 이이 170 3 삼삼 180 > d2 name weight 1 일일 65 2 넷넷 75 3 삼삼 80
데이터프레임 합치기
merge(mem,mem2) - 앞 프레임과 공통된 자료만 합친다
> merge(di,d2) name height weight 1 삼삼 180 80 2 일일 167 65
merge(mem,mem2, all = T) - 공통된 자료와 상관없이 합친다
> merge(di,d2, all = T) name height weight 1 넷넷 NA 75 2 삼삼 180 80 3 이이 170 NA 4 일일 167 65
새로운 행과 열 추가하기
구조가 완벽하게 같은 두 데이터테이블
> kkk name height weight 1 넷넷 NA 75 2 삼삼 180 80 3 이이 170 NA 4 일일 167 65 > aaa name height weight 1 미스터리 150 83
kkk=rbind(kkk,aaa)
> kkk name height weight 1 넷넷 NA 75 2 삼삼 180 80 3 이이 170 NA 4 일일 167 65 5 미스터리 150 83
새로운 컬럼을 추가하기
> aaa = data.frame( + name = '미스터리', + height = 150, + weight = 83 + ) > ccc = data.frame( + grade=c(1,2,3,4,5) + )
aaa = cbind(aaa,ccc)
> aaa name height weight grade 1 미스터리 150 83 1 2 미스터리 150 83 2 3 미스터리 150 83 3 4 미스터리 150 83 4 5 미스터리 150 83 5
문제1
> 구매정보테이블 = data.frame( + no = c(1,2,3), + name = c('홍길동', '일지매', '강감찬'), + qty = c(10,30,20) + )
구매정보테이블 no name qty 1 1 홍길동 10 2 2 일지매 30 3 3 강감찬 20 >
문제2
구매정보테이블[c(1,3), c(2,3)]
name qty 1 홍길동 10 3 강감찬 20
문제3
> ccc = data.frame( + data=c(2018,2017,2016) + )
구매정보테이블 = cbind(구매정보테이블,ccc) > 구매정보테이블 no name qty data 1 1 홍길동 10 2018 2 2 일지매 30 2017 3 3 강감찬 20 2016
'기타 > R(아르)' 카테고리의 다른 글
다양한 정형데이터 분석 기법들 (0) 2021.02.19 연습문제 - 함수만들기 while, if, for 문 (0) 2021.02.18 연습문제2 다양한 자료 불러오기 (0) 2021.02.17