R을 사용하다보면 .txt파일을 이용할 때보다는 엑셀, CSV파일을 불러오는 경우가 많습니다.
저는 그래요..^^;;
그래서 CSV 파일과 엑셀자료를 R로 가지고 오는 방법에 대해 작성해보려고 합니다.
1. 먼저 파일을 준비합니다. (저는 c:/에 CSV파일과 엑셀자료를 저장했습니다.)
2. R에서 CSV 파일을 불러옵니다.
library(readxl)
read.CSV <- read.csv(file = "c:/123.csv")
read.CSV
저는 c:/에 123이라는 이름의 CSV파일을 넣어두었습니다.
Rstudio에서는 "c:/" 까지만 입력하시고 /뒤에서 탭 키를 누르면 지정한 파일내에 있는 모든 폴더를 확인 할 수 있습니다.
파일이름을 직접입력해도 되지만 조금더 쉽게 찾을 수 있겠죠~?
저는 CSV를 read.CSV로 이름을 지어 불러왔습니다.
이름은 본인이 하고 싶은 이름으로 하면 됩니다. 간단하게 a라고 해도됩니다.
혹시 install.package()와 library()에 대해 알고 싶으시면 (아래 링크)
2020/11/02 - [공부/R] - [R]r에서 패키지(package) 다운받는 방법과 엑셀 불러오는 방법
참고하세요~^^
2-1. 첫번째 행을 이름으로 지정하지 않을 때
기본적으로 read.csv()를 이용해서 파일을 불러오면 첫번째 행의 내용을 열의 이름으로 지정하게 됩니다.
그래서
나는 첫번째 행을 이름으로 지정하고 싶지 않아요!!
라고 생각하시는 분들은 다음과 같은 코드를 이용하시면 됩니다.
library(readxl)
read.CSV <- read.csv(file = "c:/123.csv", header = F)
read.CSV
header 라는 함수에 F라고 작성을 해주면 첫번째 행을 열의 이름으로 지정하는 것을 없애줍니다.
read.CSV <- read.csv(file = "c:/123.csv", header = F)
read.CSV
names(read.CSV)
[1] "V1" "V2" "V3"
read.CSV <- read.csv(file = "c:/123.csv", header = T)
read.CSV
names(read.CSV)
[1] "a" "b" "c"
names()라는 함수를 이용하면 보다 쉽게 파악할 수 있습니다~^^
header = T 일때와 F 일때의 차이를 아시겠죠~? ^^
3. 엑셀파일 불러오기
엑셀파일을 불러오는 방법은 불러오는 함수만 다르지 .CSV파일을 불러오는 방법이랑 동일합니다.
library(readxl)
read.excel <- read_xlsx(path = "c:/123.xlsx")
read.excel
# A tibble: 7 x 3
a b c
<dbl> <dbl> <dbl>
1 1 2 3
2 2 3 4
3 3 4 5
4 4 5 6
5 5 6 7
6 6 7 8
7 7 8 9
names(read.excel)
[1] "a" "b" "c"
여기서 중요한 점은 최신? 엑셀 파일은 read.xlsx()라는 함수를 이용해야 합니다.
엑셀버전의 기준이 언제부터인지는 모르겠지만.. 내가 불러올 파일이 read.xlsx()로 열리지 않는다면
read.xls() 함수를 이용해서 불러오도록 합니다.
3-1. 엑셀파일의 첫번째 행을 열의 이름으로 지정하고 싶지 않을 때
read.csv() 함수와 다르게 read.xlsx에서는 col_names 라는 함수를 이용합니다.
> read.excel <- read_xlsx(path = "c:/123.xlsx")
> read.excel
# A tibble: 7 x 3
a b c
<dbl> <dbl> <dbl>
1 1 2 3
2 2 3 4
3 3 4 5
4 4 5 6
5 5 6 7
6 6 7 8
7 7 8 9
> names(read.excel)
[1] "a" "b" "c"
> read.excel <- read_xlsx(path = "c:/123.xlsx", col_names = F)
New names:
* `` -> ...1
* `` -> ...2
* `` -> ...3
> read.excel
# A tibble: 8 x 3
...1 ...2 ...3
<chr> <chr> <chr>
1 a b c
2 1 2 3
3 2 3 4
4 3 4 5
5 4 5 6
6 5 6 7
7 6 7 8
8 7 8 9
> names(read.excel)
[1] "...1" "...2" "...3"
.csv 파일에서와 마찬가지로 열의 이름을 지정하지 않는 것을 확인 할 수 있습니다.
3-2. 엑셀 시트 변경
엑셀의 왼쪽하단에 보면 Sheet1, Sheet2... 시트탭을 볼 수 있습니다.
R에서 불러올때에 1번 시트의 내용을 불러올건지, 2번 시트의 내용을 불러올 것인지 선택할 수 있습니다.
> read.excel <- read_xlsx(path = "c:/123.xlsx", col_names = T, sheet = 1)
> read.excel
# A tibble: 7 x 3
a b c
<dbl> <dbl> <dbl>
1 1 2 3
2 2 3 4
3 3 4 5
4 4 5 6
5 5 6 7
6 6 7 8
7 7 8 9
> read.excel <- read_xlsx(path = "c:/123.xlsx", col_names = T, sheet = 2)
> read.excel
# A tibble: 5 x 3
d e f
<dbl> <dbl> <dbl>
1 10 60 10
2 20 50 80
3 30 10 40
4 40 20 20
5 50 50 10
> names(read.excel)
[1] "d" "e" "f"
sheet = 에 불러올 시트의 번호를 입력해주면 됩니다.
1번 시트냐, 2번 시트냐를 입력해주면 원하는 시트를 R에 불러올 수 있습니다.
'공부 > R & Python' 카테고리의 다른 글
[R]for 함수를 활용한 반복문 만들기 (0) | 2020.12.20 |
---|---|
[R]for 함수를 이용한 데이터 자동 계산 (0) | 2020.12.19 |
[R]데이터 핸들링 연습(2020.12.15) (0) | 2020.12.15 |
[R]r 데이터 프레임 행이름 변경하기, 상관성 분석 시각화 (0) | 2020.11.17 |
[R]r에서 패키지(package) 다운받는 방법과 엑셀 불러오는 방법 (0) | 2020.11.02 |