티스토리 뷰
1. 데이터프레임 생성하기
- read.table()함수를 이용하여 외부 텍스트 파일을 불러들이는 방법
- data.frame() 함수를 이용하여 여러 종류의 자료객체들을 결합시키는 방법
-
#data.frame()함수 이용해서 데이터프레임 생성 > df<-data.frame(name=c("joey","emily","ellen","ronja"),age=c(21,24,25,25)) > df name age 1 joey 21 2 emily 24 3 ellen 25 4 ronja 25 #벡터 생성 후 결합하여 데이터프레임 생성 > name<-c("joey","emily","ellen","ronja") > age<-c(21,24,25,25) > df1<-data.frame(이름=name,나이=age) > df1 이름 나이 1 joey 21 2 emily 24 3 ellen 25 4 ronja 25 #특정 컬럼 조회 > df1$나이 [1] 21 24 25 25 #행렬 생성 후 데이터프레임으로 변환 > carinfo<-matrix(c('11km','13km','10km','h사','v사','r사'),ncol=2) > carinfo [,1] [,2] [1,] "11km" "h사" [2,] "13km" "v사" [3,] "10km" "r사" > dfr<-as.data.frame(carinfo) > dfr V1 V2 1 11km h사 2 13km v사 3 10km r사 #컬럼명을 지정하기 위해 names()함수 사용 > names(dfr)<-c("연비","제조사") > dfr 연비 제조사 1 11km h사 2 13km v사 3 10km r사
2. read.table()함수 이용하여 데이터프레임 생성
- 외부 파일을 읽어와서 데이터프레임 생성
- read.table("외부파일 경로지정")
- 머릿글이 존재할 경우 header=TRUE를 작성하여 불러옴
- ex) info<-read.table("C:\\Rs\\personal.txt",header=TRUE)
3. 데이터프레임 합치기
- 여러 데이터프레임을 합치는 작업
- 열 방향으로 합치기 - cbind()함수, 행 방향으로 합치기 - rbind()함수 이용
- 데이터프레임에서 중복된 열이 있을 경우 merge()함수 이용하여 병합
-
#lifeinfo 데이터프레임 생성 > lifeinfo<-data.frame(취미=c("목공예","패러글라이딩","등산","독서","트래킹"),관심사=c("취업","아파트분양","주택대출","이직","교통인프라")) > lifeinfo 취미 관심사 1 목공예 취업 2 패러글라이딩 아파트분양 3 등산 주택대출 4 독서 이직 5 트래킹 교통인프라 #pinfo 데이터프레임 생성 > pinfo<-data.frame(이름=c("민수","정수","지연","윤정","주연"),거주지역=c("인천","경기","서울","서울","인천"),나이=c(25,33,43,35,37),성별=c("남","여","남","여","남")) #pinfo, lifeinfo 열방향으로 합치기 > myinfo<-cbind(pinfo,lifeinfo) > myinfo 이름 거주지역 나이 성별 취미 관심사 1 민수 인천 25 남 목공예 취업 2 정수 경기 33 여 패러글라이딩 아파트분양 3 지연 서울 43 남 등산 주택대출 4 윤정 서울 35 여 독서 이직 5 주연 인천 37 남 트래킹 교통인프라 #otherinfo 데이터프레임 생성 > otherinfo<-data.frame(이름=c("성주","준영"),거주지역=c("강원","충북"),나이=c(42,45),성별=c("여","여")) > otherinfo 이름 거주지역 나이 성별 1 성주 강원 42 여 2 준영 충북 45 여 #행 방향으로 합치기 > totinfo<-rbind(pinfo,otherinfo) > totinfo 이름 거주지역 나이 성별 1 민수 인천 25 남 2 정수 경기 33 여 3 지연 서울 43 남 4 윤정 서울 35 여 5 주연 인천 37 남 6 성주 강원 42 여 7 준영 충북 45 여 #pjobinfo 데이터프레임 생성 > pjobinfo<-data.frame(이름=c("민수","정수","지연","윤정"),직업=c("학생","공무원","회사원","자영업")) > pjobinfo 이름 직업 1 민수 학생 2 정수 공무원 3 지연 회사원 4 윤정 자영업 #pinfo와 pjobinfo의 겹치는 원소한 프레임 합치기 > merge(pinfo,pjobinfo) 이름 거주지역 나이 성별 직업 1 민수 인천 25 남 학생 2 윤정 서울 35 여 자영업 3 정수 경기 33 여 공무원 4 지연 서울 43 남 회사원
4. 데이터프레임 조작작업
- subset()함수 이용하여 특정 컬럼만으로 이루어진 프레임 생성
- 데이터프레임에 컬럼을 추가하는 작업
- 특정 행/열을 삭제하는 작업
-
#거주지역 열을 제외한 데이터프레임 생성 > data1<-subset(pinfo,select=-거주지역) > data1 이름 나이 성별 1 민수 25 남 2 정수 33 여 3 지연 43 남 4 윤정 35 여 5 주연 37 남 #결혼 열 추가 > data2<-cbind(pinfo,결혼=c(FALSE,TRUE,TRUE,FALSE,FALSE)) > data2 이름 거주지역 나이 성별 결혼 1 민수 인천 25 남 FALSE 2 정수 경기 33 여 TRUE 3 지연 서울 43 남 TRUE 4 윤정 서울 35 여 FALSE 5 주연 인천 37 남 FALSE #3행 삭제 > data2[-3,] 이름 거주지역 나이 성별 결혼 1 민수 인천 25 남 FALSE 2 정수 경기 33 여 TRUE 4 윤정 서울 35 여 FALSE 5 주연 인천 37 남 FALSE #5열 삭제 > data2[,-5] 이름 거주지역 나이 성별 1 민수 인천 25 남 2 정수 경기 33 여 3 지연 서울 43 남 4 윤정 서울 35 여 5 주연 인천 37 남
'R' 카테고리의 다른 글
함수(function) (0) | 2021.06.06 |
---|---|
조건제어문(if, ifelse, for, while, repeat) (0) | 2021.06.06 |
리스트(list)와 행렬(matrix) (0) | 2021.06.06 |
벡터(vector) (0) | 2021.06.06 |
R의 데이터 구조 (0) | 2021.06.04 |