반응형
1. CSV
* 용량이 작고, xlsx파일과 달리 MS가 깔려있지 않은 (macOS,linux)환경에서도 작동가능한 파일형식.
# 별도의 패키지없이 R내장함수 사용
df_csv_exam <- read.csv("csv_exam.csv")
df_csv_exam
# 속성명 없는 csv파일 읽기 (파라미터 header 사용)
df_csv_exam_novar <- read.csv("csv_exam_novar.csv",header=F)
df_csv_exam_novar
# csv파일 쓰기
df_midterm <- data.frame(english = c(90,85,50,26),
math = c(99,63,84,25),
class = c(1,1,2,2))
df_midterm
# quote=F를하면 큰따움표 없이 저장, row.names=F를하면 인덱스없이 저장
write.csv(df_midterm,file="my_midterm.csv",quote=F, row.names=F)
# 큰따움표로 표시된 문자를 정상적으로 읽는 기능 (파라미터 stringAsFactors)
df_midterm2 <- read.csv("my_midterm.csv",stringsAsFactors = F)
df_midterm2
> # 별도의 패키지없이 R내장함수 사용
> df_csv_exam <- read.csv("csv_exam.csv")
> df_csv_exam
id class math english science
1 1 1 50 98 50
2 2 1 60 97 60
3 3 1 45 86 78
4 4 1 30 98 58
5 5 2 25 80 65
6 6 2 50 89 98
7 7 2 80 90 45
8 8 2 90 78 25
9 9 3 20 98 15
10 10 3 50 98 45
11 11 3 65 65 65
12 12 3 45 85 32
13 13 4 46 98 65
14 14 4 48 87 12
15 15 4 75 56 78
16 16 4 58 98 65
17 17 5 65 68 98
18 18 5 80 78 90
19 19 5 89 68 87
20 20 5 78 83 58
> # 속성명 없는 csv파일 읽기 (파라미터 header 사용)
> df_csv_exam_novar <- read.csv("csv_exam_novar.csv",header=F)
> df_csv_exam_novar
V1 V2 V3 V4 V5
1 1 1 50 98 50
2 2 1 60 97 60
3 3 1 45 86 78
4 4 1 30 98 58
5 5 2 25 80 65
6 6 2 50 89 98
7 7 2 80 90 45
8 8 2 90 78 25
9 9 3 20 98 15
10 10 3 50 98 45
11 11 3 65 65 65
12 12 3 45 85 32
13 13 4 46 98 65
14 14 4 48 87 12
15 15 4 75 56 78
16 16 4 58 98 65
17 17 5 65 68 98
18 18 5 80 78 90
19 19 5 89 68 87
20 20 5 78 83 58
> # csv파일 쓰기
> df_midterm <- data.frame(english = c(90,85,50,26),
+ math = c(99,63,84,25),
+ class = .... [TRUNCATED]
> df_midterm
english math class
1 90 99 1
2 85 63 1
3 50 84 2
4 26 25 2
> # quote=F를하면 큰따움표 없이 저장, row.names=F를하면 인덱스없이 저장
> write.csv(df_midterm,file="my_midterm.csv",quote=F, row.names=F)
> # 큰따움표로 표시된 문자를 정상적으로 읽는 기능 (파라미터 stringAsFactors)
> df_midterm2 <- read.csv("my_midterm.csv",stringsAsFactors = F)
> df_midterm2
english math class
1 90 99 1
2 85 63 1
3 50 84 2
4 26 25 2
2. xslx
* 파일을 읽기위해 패키지를 다운받아야함.
# 패키지 설치하기
install.packages("readxl")
library(readxl)
# ----경로별 파일읽기----
# 1. 같은 폴더에 있을때
# 타입을 확인하는 함수 중 대상이 자료구조일경우 class를 사용
df_exam <- read_excel("excel_exam.xlsx")
class(df_exam) #테이블형테의 데이터프레임
df_exam <- as.data.frame(read_excel("excel_exam.xlsx"))
class(df_exam) #순수한형태의 데이터프레임
# 2. 절대경로(최상위폴더(C)에서부터)로 불러오기
# 구분시 역슬러시(\)대신 슬러시쓰는것 주의(/)
df_exam2 <- as.data.frame(read_excel("C:/bigdata/excel_exam.xlsx"))
# 3. 상대경로(현재위치에서)로 불러오기
df_exam3 <- as.data.frame(read_excel("./res/excel_exam.xlsx"))
df_exam3
# ----첫행이 속성행이 아닐때 (col_names 파라미터)----
df_exam_novar <- as.data.frame(read_excel("excel_exam_novar.xlsx"))
df_exam_novar
df_exam_novar <- as.data.frame(read_excel("excel_exam_novar.xlsx",col_names=F))
df_exam_novar
# ----시트가 여러개일때 (sheet 파라미터)----
df_exam_sheet <- as.data.frame(read_excel("excel_exam_sheet.xlsx",sheet=3))
df_exam_sheet
# ----시작셀의 위치가 다를때 (range파라미터)----
# range("첫셀:마지막셀")
df_exam_startPoint <- as.data.frame(read_excel("excel_exam_sheet.xlsx",sheet=4,range="C3:G11"))
df_exam_startPoint
> # 패키지 설치하기
> #install.packages("readxl")
>
> library(readxl)
> # ----경로별 파일읽기----
> # 1. 같은 폴더에 있을때
> #타입을 확인하는 함수 중 대상이 자료구조일경우 class를 사용
> df_exam <- read_excel("excel_exam.xlsx")
> class(df_exam) #테이블형테의 데이터프레임
[1] "tbl_df" "tbl" "data.frame"
> df_exam <- as.data.frame(read_excel("excel_exam.xlsx"))
> class(df_exam) #순수한형태의 데이터프레임
[1] "data.frame"
> # 2. 절대경로(최상위폴더(C)에서부터)로 불러오기
> # 구분시 역슬러시(\)대신 슬러시쓰는것 주의(/)
> df_exam2 <- as.data.frame(read_excel("C:/bigdata/excel_exam.xlsx"))
> # 3. 상대경로(현재위치에서)로 불러오기
> df_exam3 <- as.data.frame(read_excel("./res/excel_exam.xlsx"))
> df_exam3
id class math english science
1 1 1 50 98 50
2 2 1 60 97 60
3 3 1 45 86 78
4 4 1 30 98 58
5 5 2 25 80 65
6 6 2 50 89 98
7 7 2 80 90 45
8 8 2 90 78 25
9 9 3 20 98 15
10 10 3 50 98 45
11 11 3 65 65 65
12 12 3 45 85 32
13 13 4 46 98 65
14 14 4 48 87 12
15 15 4 75 56 78
16 16 4 58 98 65
17 17 5 65 68 98
18 18 5 80 78 90
19 19 5 89 68 87
20 20 5 78 83 58
> # ----첫행이 속성행이 아닐때 (col_names 파라미터)----
> df_exam_novar <- as.data.frame(read_excel("excel_exam_novar.xlsx"))
New names:
* `1` -> `1...1`
* `1` -> `1...2`
* `50` -> `50...3`
* `50` -> `50...5`
> df_exam_novar
1...1 1...2 50...3 98 50...5
1 2 1 60 97 60
2 3 2 25 80 65
3 4 2 50 89 98
4 5 3 20 98 15
5 6 3 50 98 45
6 7 4 46 98 65
7 8 4 48 87 12
> df_exam_novar <- as.data.frame(read_excel("excel_exam_novar.xlsx",col_names=F))
New names:
* `` -> ...1
* `` -> ...2
* `` -> ...3
* `` -> ...4
* `` -> ...5
> df_exam_novar
...1 ...2 ...3 ...4 ...5
1 1 1 50 98 50
2 2 1 60 97 60
3 3 2 25 80 65
4 4 2 50 89 98
5 5 3 20 98 15
6 6 3 50 98 45
7 7 4 46 98 65
8 8 4 48 87 12
> # ----시트가 여러개일때 (sheet 파라미터)----
> df_exam_sheet <- as.data.frame(read_excel("excel_exam_sheet.xlsx",sheet=3))
> df_exam_sheet
id class math english science
1 1 1 50 98 50
2 2 1 60 97 60
3 3 2 25 80 65
4 4 2 50 89 98
5 5 3 20 98 15
6 6 3 50 98 45
7 7 4 46 98 65
8 8 4 48 87 12
> # ----시작셀의 위치가 다를때 (range파라미터)----
> df_exam_startPoint <- as.data.frame(read_excel("excel_exam_sheet.xlsx",sheet=4,range="C3:G11"))
> df_exam_startPoint
id class math english science
1 1 1 50 98 50
2 2 1 60 97 60
3 3 2 25 80 65
4 4 2 50 89 98
5 5 3 20 98 15
6 6 3 50 98 45
7 7 4 46 98 65
8 8 4 48 87 12
반응형