1. 변수 만들기
a<-1 #a에 1할당
a #a 출력
##[1] 1
2. 여러 값으로 구성된 변수 만들기
- c() 함수는 변수에 여러 개의 값을 넣는 기능
- 괄호 안에 쉼표를 이용해 숫자를 나열하는 형태
var1 <- c(1,2,5,7,8) #숫자 5개로 구성된 var1 생성
var1
##[1] 1 2 5 7 8
- 콜론(:)을 이용해 시작 숫자와 마지막 숫자를 입력하면 1씩 증가하면서 연속된 숫자로 변수를 만듬
var2 <- c(1:5) #1~5까지 연속 값으로 var2 생성
var2
##[1] 1 2 3 4 5
- seq() 함수로도 연속 값을 지닌 변수를 만들 수 있음
- 괄호 안에 시작 숫자와 마지막 숫자를 쉼표로 구분하여 입력하는 형태
var3 <-seq(1,5) #1~5까지 연속 값으로 var3 생성
var3
##[1] 1 2 3 4 5
- by 파라미터를 이용하면 일정한 간격을 두고 연속된 숫자로 된 변수를 만들 수 있음
var4 <- seq(1,10,by=2) #1~10까지 2간격 연속 값으로 var4 생성
var4
##[1] 1 3 5 7 9
- 여러 값으로 구성된 변수로도 연산 가능. 변수끼리 연산할 수도 있고, 변수와 숫자를 조합해 연산할 수도 있음
var1
##[1] 1 2 5 7 8
var1+2
##[1] 3 4 7 9 10
- 여러 값으로 구성된 변수끼리 연산하면 같은 순서에 위치한 값끼리 연산
- 변수 var1과 var2를 더하면 첫 번쨰 값은 var1의 첫 번째 값인 1과 var2의 첫 번째 값인 1을 더해 2가 되고,
두 번째 값은 var1의 두 번째 값인 2와 var2의 두 번째 값인 2를 더해 4가 되는 식
var1
## [1] 1 2 5 7 8
var2
## [1] 1 2 3 4 5
var1+var2
##[1] 2 4 8 11 13
3. 문자로된 변수 만들기
- str1에 소문자 a를 넣어 변수를 만듬. 변수에 문자를 넣을 때는 문자 앞뒤에 따옴표 "를 붙여야 함
str1 <-"a"
str1
##[1] "a"
- 문자 변수에는 하나의 문자, 여러개의 문자로 구성된 단어, 여러 개의 단어로 구성된 문장을 넣을 수 있고, 띄어쓰기나 특수문자를 넣을 수도 있음
str2 <- "text"
str2
##[1] "text"
str3 <- "Hello World!"
str3
##[1] "Helloc World!"
- c() 함수를 이용하면 여러 개의 문자로 구성된 변수를 만들 수 있음
- 변수에 넣을 문자를 쉼표를 사용해 나열
str4 <- c("a","b","c")
str4
##[1] "a" "b" "c"
str5 <- c("Hello!", "World", "is", "good!")
str5
##[1] "Hello!" "World" "is" "good!"
- 문자로 된 변수로는 연산 불가
4. 숫자를 다루는 함수 이용하기
1) 평균 mean()
#변수 만들기
x<-c(1,2,3)
x
## [1] 1 2 3
# 함수 적용하기
mean(x)
##[1] 2
2) 최댓값 max() 최솟값 min()
max(x)
##[1] 3
min(x)
##[1] 1
5. 문자를 다루는 함수 이용하기
- 문자 처리 전용함수 이용
1) paste() - 여러 문자를 합쳐 하나로 만드는 함수
- collapse는 단어를 구분할 문자를 지정하는 기능
str5
##[1] "Hello!" "World" "is" "good!"
paste(str5, collapse=",") #쉼표를 구분자로 str5의 단어들 하나로 합치기
##[1] "Hello!,World,is,good!"
- 함수의 결과물로 새 변수 만들기
x_mean <- mean(x)
x_mean
##[1] 2
str5_paste <- paste(str5, collapse=" ")
str5_paste
##[1] "Hello! World is good!"
6. 패키지
- R에서는 그래프를 만들고, 텍스트 데이터를 분석하고, 머신러닝 알고리즘을 구현하는 등 다양한 기능을 하는 함수를 이용할 수 있음
- 함수를 이용하려면 먼저 함수가 들어있는 패키지를 설치하고 불러들여야 함
ex) ggplot2에서는 ggplot(), gplot(), geom_histogram() 등 수십가지 그래프 관련 함수가 들어 있음
패키지 설치하기 -> 패키지 로드하기 -> 함수 사용하기
- 패키지는 한번만 설치하면 되지만 패키지를 로드하는 작업은 R 스튜디오를 새로 시작할때마다 반복해야 함
1) ggplot2 패키지 설치
#ggplot2 패키지 설치
install.packages("ggplot2")
2) ggplot2 패키지 로드
- 패키지를 로드할 때는 libraray()를 사용
#ggplot2 패키지 로드
library(ggplot2)
3) 함수 사용
- ggplot2 패키지에 들어 있는 qplot() 함수를 이용해 간단한 빈도 막대 그래프 만들기
#여러 문자로 구성된 변수 생성
x<-c("a","a","b","c")
x
#빈도 막대 그래프 출력
qplot(x)
ex) ggplot2의 mpg 데이터로 그래프 만들기
- mpg(Mile perGallon) 데이터는 미국 환경 보호국에서 공개한 자료로, 1999~2008년 사이 미국에서 출시된 자동차 234종의 연비 관련 정보를 담고 있음
- qplot()의 data 파라미터에 mpg 데이터를 지정하고, 그래프 x축을 결정하는 x 파라미터에 hwy를 지정해 '고속도로 연비별 빈도 막대 그래프' 만들기
#x축 drv, y축 hwy, 상자 그림 형태, drv별 색 표현
qplot(data=mpg, x=drv, y=hwy, geom="boxplot", colour"drv)
- 함수 기능이 궁굼할땐 Help 함수 활용
#qplot 함수 매뉴얼 출력
?qplot
7. 데이터프레임
- 데이터 프레임은 데이터를 직접 입력해 만들 수도 있고, 외부의 데이터를 가져와 만들 수도 있음
1) 데이터를 입력해 데이터 프레임 만들기
영어 점수 | 수학 점수 |
90 | 50 |
80 | 60 |
60 | 100 |
70 | 20 |
- 변수 만들기
english <-c(90,80,60,70) #영어 점수 변수 생성
english
##[1] 90 80 60 70
math <-c(50,60,100,20) #수학 점수 변수 생성
math
##[1] 50 60 100 20
- 데이터 프레임 만들기
- 데이터 프레임을 만들 때는 data.frame()을 이용
- 데이터 프레임을 구성할 변수를 괄호 안에 쉼표로 나열하면 됨
#english, math로 데이터 프레임을 생성해서 df_midterm에 할당
df_midterm <- data.fram(english, math)
df_midterm
## english math
## 90 50
## 80 60
## 60 100
## 70 20
- 학생의 반에 대한 정보가 추가된 데이터 프레임
class <- c(1,1,2,2)
class
##[1] 1 1 2 2
df_midterm<-data.frame(english,math,class)
df_midterm
## english math class
## 90 50 1
## 80 60 1
## 60 100 2
## 70 20 2
- 분석하기
- mean()을 이용해 전체 학생의 영어 점수와 수학 점수 평균 구하기
- mean()안에 입력된 df_midterm$english는 df_midterm 데이터 프레임 안에 있는 english 변수를 의미
- mean()안에 입력된 df_midterm$math는 df_midterm 데이터 프레임 안에 있는 math 변수를 의미
mean(df_midterm$english) # df_midterm의 english로 평균 산출
## [1] 75
mean(df_midterm$math) # df_midterm의 math로 평균 산출
## [1] 57.5
- 데이터 프레임 한번에 만들기
df_midterm <- data.frame(english = c(90,80,60,70), math = c(50,60,100,20), class = c(1,1,2,2))
df_midterm
2) 외부 데이터 이용하기
- 엑셀파일 불러오기
● readxl 패키지 설치하고 로드하기
- 엑셀 파일을 불러오려면 엑셀 파일을 불러오는 기능을 제공하는 패키지를 이용해야함
install.packages("readxl")
libarary(readxl)
● 엑셀 파일 불러오기
- readxl 패키지에서 제공하는 read_excel()을 이용해 엑셀 파일을 불러옴
- read_excel()은 엑셀파일을 데이터 프레임으로 만드는 기능을 함
- 괄호 안에 불러올 엑셀 파일명을 넣으면 됨.
- 확장자(.xlsx)까지 기입해야하고, 양쪽에 따옴표(")가 들어가야 함
- R에서는 파일명을 지정할 때 항상 앞 뒤에 따옴표를 넣음
df_exam <-read_excel("excel_exam.xlsx") #엑셀 파일을 불러와 df_exam에 할당
df_exam #출력
id class math english science
<dbl> <dbl> <dbl> <dbl> <dbl>
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
- 프로젝트 폴더가 아닌 다른 폴더에 있는 엑셀파일을 불러오려면 파일 경로를 지정하면 됨
df_exam<-read_excel("d:/easy_r/excel_exam.xlsx")
● 분석하기
mean(df_exam$english)
##[1] 84.9
mean(df_exam$science)
##[1].59.45
- read_excel()은 기본적으로 엑셀 파일의 첫 번째 행을 변수명으로 인식해 불러옴
- 변수명 없이 첫 번째 행부터 바로 데이터가 시작되는 경우, 첫 번째 행의 데이터가 변수명으로 지정되면서 유실되는 문제 발생
- col_names=F 파라미터를 설정하면 첫 번째 행을 변수명이 아닌 데이터로 인식해 불러오고, 변수명은 '...숫자'로 자동 지정
df_exam_novar <-read_excel("excel_exam_novar.xlsx", col_names=F)
df_exam_novar
- 여러 개의 시트로 구성된 엑셀 파일을 불러올 경우 sheet 파라미터를 이용해 몇 번째 시트의 데이터를 불러올지 지정할 수 있음
#엑셀 파일의 세 번째 시트에 있는 데이터 불러오기
df_exam_sheet <- read_excel("excel_exam_sheet.xlsx",sheet=3)
3) CSV 파일 불러오기
CSV(Comma-separated Values)
- 값들이 쉼표로 구분되어 있는 파일
● CSV 파일 불러오기
- read.csv()을 이용하면 CSV 파일을 불러올 수 있음
- 첫 번째 행에 변수명이 없는 CSV 파일을 불러올 때는 header=F 파라미터를 지정
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
4) 데이터 프레임을 CSV 파일로 저장하기
- 데이터 프레임을 CSV 파일로 저장하면 R 외에도 데이터를 다루는 대부분의 프로그램에서 불러올 수 있음
● 데이터 프레임 만들기
df_midterm <- data.frame(english=c(90,80,60,70),math=c(50,60,100,20), class=c(1,1,2,2))
df_midterm
english math class
1 90 50 1
2 80 60 1
3 60 100 2
4 70 20 2
● CSV 파일로 저장하기
- R 내장 함수인 wirte.csv()를 이용해 데이터 프레임을 CSV 파일로 저장
- 괄호 안에 저장할 데이터 프레임명을 지정하고, file 파라미터에 파일명을 지정하면됨
write.csv(df_midterm, file="df_midterm.csv")
5) RDS 파일 활용하기
- RDS 파일은 R 전용 데이터 파일
- R 전용 파일이므로 다른 파일들에 비해 R에서 읽고 쓰는 속도가 빠르고 용량이 작음
● 데이터 프레임을 RDS 파일로 저장하기
- saveRDS()를 이용해 데이터 프레임을 .rds파일로 저장
saveRDS(df_midterm, file="df_midterm.rds")
● RDS 파일 불러오기
- RDS 파일을 불러올 때는 readRDS()를 이용
- RDS 파일을 불러오기 전에 우선 앞에서 만든 df_midterm을 삭제
- rm()을 이용하면 데이터를 삭제할 수 있음
rm(df_midterm)
df_midterm
에러: 객체 'df_midterm'를 찾을 수 없습니다
- df_midterm.rds 파일을 readRDS()를 이용해 불러와 df_midterm에 할당
df_midterm<-readRDS("df_midterm.rds")
df_midterm
english math class
1 90 50 1
2 80 60 1
3 60 100 2
4 70 20 2
'데이터 > R 프로그래밍' 카테고리의 다른 글
R 프로그래밍 기초 (4) (0) | 2023.10.16 |
---|---|
R 프로그래밍 기초 (3) (0) | 2023.10.13 |
R 프로그래밍 기초(2) (0) | 2023.10.13 |