3-1. 변수와 함수
변수 |
파이썬과 개념 동일 R은 대문자와 소문자를 구별함. 함수를 호출할 때도 대문자와 소문자를 지켜야 한다. <- : 할당 연산자 (단축키로 ALT + - 사용 가능) |
함수 |
파이썬과 개념 동일 return() vs cat() : 함수 출력값은 동일하나 변수에 저장가능 여부가 다름 print() vs cat() : print 는 1개만 출력, cat 은 전부 출력 |
- 손코딩 내용
# 변수 할당
x <- 10
x
y <- "HI"
y
print("Hellow World")
# 내장함수 사용
a <- sum(1:100)
a
Sys.Date()
# 사용자 정의 함수 사용
multi_three_return <- function(x, y, z) {
res <- x*y*z
return(res)
}
- 113페이지 문제
# 4번
x <- c(1, 3, 5, 7, 9)
x
# 5번
y <- "Hello"
y
# 6번
num_three_return <- function(x, y, z) {
res = x+y+z
return(res)
}
num_three_return(10, 20, 30)
3-2. 패키지
함수 | 기능 |
install.packages(패키지명) | 패키지 설치 |
library()/library(패키지명) | 패키지 전체 목록 확인/특정패키지 로드(1회성, 새로 킬때마다 수행해야함) |
remove.packages(패키지명) | 패키지 삭제 |
https://cran.r-project.org/web/packages/available_packages_by_name.htm
CRAN: Available Packages By Name
cran.r-project.org
3-3. 조건문과 반복문
- 연산자 및 손코딩
종류 | 연산자 | 기능 |
할당 연산자 | <- | 변수에 값을 저장 |
산술 연산자 | +, -, *, /, %/%, %%, ** or ^ | 더하기, 빼기, 곱하기, 나누기, 몫, 나머지, 제곱수 |
관계 연산자 | >, >=, <, <=, ==, !=, ! | 크다, 크거나 같다, 작다, 작거나 같다, 같다, 같지 않다, 아니다 |
논리 연산자 | &, | | 그리고(and), 또는(or) |
#할당 연산자
A <- 2
A
B = 10
B
# 정상 작동 (<- 가 우선순위 이므로 5가 먼저 D 에 할당됨)
C = D <- 5
C
D
# 오류 (<- 가 우선순위 이므로 E 가 먼저 G 에 할당됨) : 우선순위 조정필요
G <- E = 10
# = 경우 함수 인자로 할당 불가
sum(x <- 1)
x
sum(y = 1)
y
# 논리연산자 : 관계연산자로 얻은 진릿값 이용
x <- 1:3
y <- 3:1
(x>0) & (y>1)
(x>0) | (y>1)
- 조건문 및 손코딩
if-else 조건문, if-else if- else 조건문
# 조건문
a <- 10
if (a %% 2 == 0) {
print("짝수입니다")
} else {
print("홀수입니다")
}
b <- 80
if (b >= 90) {
print("A 학점입니다")
} else if (b >= 80) {
print("B 학점입니다")
} else {
"C 학점입니다"
}
- 반복문 및 손코딩
- for () 함수
- apply() 함수
apply(x, margin, 함수) | lapply(x, 함수) | sapply(x, 함수) |
행렬 연산에 사용 x에는 행렬을 넣고 margin 옵션이 1이면 행 2이면 열에 함수적용 |
연산 결과 리스트로 반환 모든 자료형에 사용 가능 |
연산 결과 벡터로 반환 모든 자료형에 사용 가 |
# 반복문
for (i in 1:9) {
a <- 2*i
print(a)
}
for (i in 2:9) {
for (j in 1:9) {
print(paste(i, "*", j, "+", i*j))
}
}
x <- matrix(1:4, 2, 2)
x
apply(x, 1, sum)
apply(x, 2, min)
apply(x, 1, max)
# iris 데이터 이용해보기
str(iris)
View(iris)
apply(iris[, 1:4], 2, sum)
apply(iris[, 1:4], 2, mean)
apply(iris[, 1:4], 2, min)
apply(iris[, 1:4], 2, max)
apply(iris[, 1:4], 2, median)
lapply(iris[, 1:4], sum)
sapply(iris[, 1:4], sum)
- 143페이지 문제 2번
age <- 18
if (age<13) {
print("어린이입니다.")
} else if (age<19) {
print("청소년입니다")
} else {
print("성인입니다.")
}
'혼공학습단' 카테고리의 다른 글
[혼자 공부하는 R 데이터분석] 6주차_데이터 시각화(ggplot2, ggmap) (0) | 2024.08.19 |
---|---|
[혼자 공부하는 R 데이터분석] 5주차_데이터 가공하기(dplyr, 데이터 결합, reshape2) (0) | 2024.08.03 |
[혼자 공부하는 R 데이터분석] 4주차_데이터 수집, 관측, 시각화 (0) | 2024.07.29 |
[혼자 공부하는 R 데이터분석] 2주차_데이터분석의 기본 알아보기 (0) | 2024.07.11 |
[혼자 공부하는 R 데이터분석] 1주차_R studio 사용해보기 (0) | 2024.07.03 |