데이터 조작 : iris데이터, csv 파일 입출력, apply()함수들, 여러 함수들
-모든객체 삭제
-rm(list = ls())
1. iris데이터 사용하기 |
head(iris) - 붓꽃 데이터가 데이터 프레임으로 저장되어 있음 iris3 - 3차원 배열 형태로 저장되어 있음 다양항 데이터 셋 보려면 : library(help=datasets) 실전 데이터를 사용할 때 : data(데이터 셋 이름) |
2. 파일 입출력 (csv파일) ?? 이해 X -> ppt.6 |
document에 csv파일 직접 저장하면 read.csv("파일명.csv")로 불러올 수 있다. ### csv파일로 저장 > write.csv(x, "b.csv", row.names = F) > read.csv("b.csv") id name score 1 1 python 98 2 2 ruby 78 3 3 foo 86 > write.csv(x, "b.csv", row.names = T) > read.csv("b.csv") X id name score 1 1 1 python 98 2 2 2 ruby 78 3 3 3 foo 86
|
3. save() load() |
### save() load() ### binary형태로 객체를 입출력 > x<- 1:5 > y <- 6:10 > save(x,y,file = "xy.RDate") > load("xy.RDate") #파일로부터 데이터를 불러들이는 함수 > x |
4. rbin(), cbind() : 행 또는 열 형태로 주어진 데이터를 합쳐서 행렬 또는 데이터 프레임을 만드는데 사용 |
### 행렬 > rbind(c(1,2,3),c(4,5,6)) [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 > cbind(c(1,2,3),c(4,5,6)) [,1] [,2] [1,] 1 4 [2,] 2 5 [3,] 3 6 ### 데이터 프레임의 rbind() >x <- data.frame(id=c(1,2), name=c("a", "b"), stringsAsFactors=F) #stringsAsFactors=F이것은 name의 컬럼 데이터를 factor가 아니라 문자열로 취급한다. 따라서 rbin()를 할 수 있다. > x id name 1 1 a 2 2 b > y <- rbind(x,c(3,"c")) > y id name 1 1 a 2 2 b 3 3 c
> x id name 1 1 a 2 2 b > y<-cbind(x, greek=c('alpha','beta')) > y id name greek 1 1 a alpha 2 2 b beta ***데이터프레임은 열을 추가할 때 cbind() 말고 변수명$컬럼명 <- 데이터 형태로 열을 추가할 수 있다. |
5. apply 함수들 |
### apply() : 행렬의 행 또는 열방향으로 특정 함수를 적용하는데 사용, ### apply(행렬, 방향, 함수) 형태로 호출 ## 1) apply(행렬, 방향, 함수) - 벡터에는 적용 안됨, 벡터는 그냥 sum사용하면 됨 ##1 : 행 방향, 2 : 열 방향 > sum(1:10) [1] 55 > d <- matrix(1:9, ncol=3) > d [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 > apply(d, 1, sum) [1] 12 15 18 > apply(d, 2, sum) [1] 6 15 24
> apply(iris[,1:4], 2, sum) Sepal.Length Sepal.Width Petal.Length Petal.Width 876.5 458.6 563.7 179.9
#자주 사용하므로 rowSums(), colSums()함수가 정의 되어 있다. > colSums(iris[,1:4]) Sepal.Length Sepal.Width Petal.Length Petal.Width 876.5 458.6 563.7 179.9 #rowMeans(), colMeans()를 통해서도 계산할 수 있다. (평균) > colMeans(iris[,1:2]) Sepal.Length Sepal.Width 5.843333 3.057333 ## 2) lapply(x, 함수) - x는 벡터 또는 리스트, 데이터 프레임등 가능 / 결과는 리스트 형태 입력이 vector, list, data frame 형태인것들을 리스트나 unlist 형태로 출력 하는 것. vector, list, data frame 입력 형태 다시 확인 하기???????????? - 벡터로 받기
- 리스트로 받기 > x<-list(a=1:3, b=4:6) > x $a [1] 1 2 3 $b [1] 4 5 6 ##평균 구하기 > lapply(x,mean) $a [1] 2 $b [1] 5 > lapply(x,sum) $a [1] 6 $b [1] 15 - 데이터 프레임으로 받기
|
'학부 정리 > 4학년' 카테고리의 다른 글
[4학년 - 빅데이터기술] R프로그래밍 (0) | 2018.04.22 |
---|---|
[4학년 - 빅데이터기술] R프로그래밍 (0) | 2018.04.21 |
[4학년 - 빅데이터기술] R프로그래밍 (0) | 2018.04.21 |
[4학년 - 빅데이터기술] R프로그래밍 (0) | 2018.04.21 |
[4학년 - 빅데이터기술] R프로그래밍 (0) | 2018.04.20 |