PlayData

[R] ์ž…๋ฌธํ•˜๊ธฐ

๊น€์œ ๋‹ˆ์ฝ˜ 2022. 1. 15. 15:23

#R์˜ ๋ณ€์ˆ˜์„ ์–ธ 

a <- 1
b <- 2
c <- 3
a
# R์—์„œ๋Š” ๋ณ€์ˆ˜๋ฅผ ๋ฒกํ„ฐ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. 
# ์–ธ์–ด์˜ ๋ณ€์ˆ˜, ์กฐ๊ฑด๋ฌธ, ๊ทธ ์–ธ์–ด๋งŒ์˜ ํŠน์„ฑ์ด ์žˆ๋Š”๋ฐ ์ด ๊ฒƒ๋“ค์„ ์ตํžˆ๋ฉด ๋ชจ๋“  ์–ธ์–ด๋ฅผ ์ตํž ์ˆ˜ ์žˆ์Œ. 

a + b + c

var1 <- c(1,2,3,4,5)
var1[3]
#R์—์„œ๋Š” list์˜ indexing์€ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค. ์ปดํ“จํ„ฐ ์–ธ์–ด๋“ค์ด 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ด์œ ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์•„๋ผ๊ธฐ ์œ„ํ•ด์„œ 

var1 + 20 
#๋ฒกํ„ฐ ์—ฐ์‚ฐ (for๋ฌธ์„ ์“ฐ๊ฒŒ๋˜๋ฉด ์†๋„๊ฐ€ ๋Š๋ฆผ)
#๋ฐ์ดํ„ฐ ๋ถ„์„ํ• ๋•Œ for๋ฌธ์„ ์“ฐ๋ฉด ํ‡ด๊ทผ ๋ชปํ• ์ง€๋„! ^~^

var3 <- c(1:10)
help(c) #help๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•Œ๋ ค์ค€๋‹ค


var4 <- "Hello"
var5 <- 'Hello'

var6 <- c("Hi", "Hello")

var4 + "Hi"




english <- c(90, 80, 60, 70)
math <- c(50, 60, 100, 20)

#data.frome
df_midterm <- data.frame(english, math)
df_midterm

mean(df_midterm$english) #๋ณ€์ˆ˜์˜ ์ปฌ๋Ÿผ์— ์ ‘๊ทผํ•  ๋•Œ์—๋Š” $๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 

df_midterm <- data.frame(english = c(90, 80, 60, 70),
                         math = c(50, 60, 100, 20),
                         class = c(1, 1, 2, 2))

install.packages("readxl") #์—‘์…€ ์ฝ๊ธฐ 
library(readxl) #์„ค์น˜ํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฐ๋‹ค. 

setwd("/Users/iris/Documents/R")
getwd("./data/excel_exam.xlsx")
#/Users/iris/Documents/R/data/excel_exam.xlsx

read_excel("../data/excel_exam.xlsx") #์ƒ๋Œ€๊ฒฝ๋กœ 
#/Users/iris/Documents/data/excel_exam.xlsx

read_excel("/Users/iris/Documents/R/Data/excel_exam.xlsx") #์ ˆ๋Œ€๊ฒฝ๋กœ 
# ../-> ์ƒ์œ„ํด๋” 
# ./ -> ํ˜„์žฌํด๋” 


df_exam <- read_excel("./data/excel_exam.xlsx")

head(df_exam) #์•ž 6๊ฐœ ๋ฐ์ดํ„ฐ ๋ณด๊ธฐ, ๋” ๋ณด๊ณ ์‹ถ์œผ๋ฉด head(df_exam, ๋ณด๊ณ ์‹ถ์€ ๊ฐ’) 
tail(df_exam) #๋’ค 6๊ฐœ ๋ฐ์ดํ„ฐ ๋ณด๊ธฐ, ๋” ๋ณด๊ณ ์‹ถ์œผ๋ฉด tail(df_exam, ๋ณด๊ณ ์‹ถ์€ ๊ฐ’)  
dim(df_exam) #row, column๊ฐ’ ์ฐพ๋Š” ํ•จ์ˆ˜ 
str(df_exam) #์†์„ฑ 
summary(df_exam) #๊ธฐ์ˆ ํ†ต๊ณ„๊ฐ’
#๊ฒฐ์ธก์น˜ ํ™•์ธ (row๊ฐ’์— ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์Œ)

# install.packages("ggplot2")
# R์ด ์‹œ๊ฐํ™”๊ฐ€ ๊ฐ•ํ•œ ์ด์œ ๋Š” ggplot2 ๋•Œ๋ฌธ! cheatsheet๋ฅผ ์ ๊ทน ํ™œ์šฉํ•˜์ž 
library(ggplot2)

mpg #ggplot2์— ๋“ค์–ด์žˆ๋Š” ์ž๋™์ฐจ ์ •๋ณด 
dim(mpg)

#๋ณ€์ˆ˜๋ช… ๋ฐ”๊พธ๊ธฐ 
head(mpg)

df_raw <- data.frame(var1 = c(1, 2, 1),
                     var2 = c(2,3,2 ))

df_raw
names(df_raw) <- c("v1", "v2") #๋ณ€์ˆ˜๋“ค ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ธฐ 

names(mpg)

install.packages("dplyr")
library(dplyr) #R์„ ์‹œ์ž‘ํ• ๋•Œ์—๋Š” library๋ฅผ ์ œ์ผ ์ƒ๋‹จ์— ์˜ฌ๋ ค๋‘๊ณ  ์‹œ์ž‘ํ•œ๋‹ค. ์ด๊ฒƒ๋งŒ ๋ด๋„ ์–ด๋–ค ์ฝ”๋“œ์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ๋„๋ก.

rename(df_raw, variable2 = v2)
df_raw

#r์€ ์‚ญ์ œ ๋ช…๋ น์–ด๊ฐ€ ์—†๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์— ๊ณ„์† ๋‚จ์•„์žˆ์Œ. 

tmp <-c(100:120)
tmp
tmp <- tmp[-10] #์ด๋ ‡๊ฒŒ ์ง€์›Œ์ง 

tmp[c(8,9)]
tmp <- tmp[-c(8,9)]
tmp

mpg[c(1,2,3)]
mpg[-c(1,2,3)] #ํ•˜๋‚˜๋งŒ ์ผ์„ ๋•Œ, 

View(mpg)
# c์— ๋‚ด๊ฐ€ ๋ณด๊ณ ์‹ถ์€ ์ธ๋ฑ์‹ฑ ๋ณด๋ฉด ๋จ. 

#mpg[ํ–‰, ์—ด]
mpg[c(1,2,3), c(1,2)]

# ๋ถ„์„ํ•  ๋•Œ, ๋ฐ์ดํ„ฐ ๋งŒ๋“ค์ผ ๊ฑฐ์˜ ์—†์Œ. ๋ฐ์ดํ„ฐ ์ฝ์–ด์˜จ๋‹ค. 
# db๊ณ„์ •์ฃผ๊ณ  ์—ฌ๊ธฐ์„œ ๊ฐ€์ ธ์™€์„œ ์“ฐ๋ผ๊ณ  ๋งํ•ด์คŒ.

#ํŒŒ์ƒ๋ณ€์ˆ˜ : total๋งŒ๋“ค๊ธฐ 
df_midterm$total <- df_midterm$english + df_midterm$math 
df_midterm