조건문, 반복문
2019. 4. 18. 22:08ㆍR/Basic
조건문
if - else
x <- 10
if(x > 1){
print("x > 1")
}else{
print("x < 1")
}
1] "x > 1"
ifelse
x <- 10
ifelse(x > 1, "X > 1", "X < 1")
[1] "X > 1"
반복문
for
x <- c(1:5)
for( i in x){
print(i)
}
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
x <- c(1:10)
for(i in x){
if(i >= 5){
print("x >= 5")
} else {
print("x < 5")
}
}
[1] "x < 5"
[1] "x < 5"
[1] "x < 5"
[1] "x < 5"
[1] "x >= 5"
[1] "x >= 5"
[1] "x >= 5"
[1] "x >= 5"
[1] "x >= 5"
[1] "x >= 5"
x <- c("aa","bb","cc","dd")
for(i in 1:4){
print(x[i])
}
[1] "aa"
[1] "bb"
[1] "cc"
[1] "dd"
x <- c("aa","bb","cc","dd")
for(i in 1:length(x)){
print(x[i])
}
[1] "aa"
[1] "bb"
[1] "cc"
[1] "dd"
x <- c("aa","bb","cc","dd")
for(i in seq(x)){
print(x[i])
}
[1] "aa"
[1] "bb"
[1] "cc"
[1] "dd"
seq(x) : x의 length만큼 생성 (1:4) seq(x) = 1:x
for로 i x j 행렬 생성
m <- matrix(1:10, 2)
> m
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
for(i in seq(nrow(m))){
for(j in seq(ncol(m))){
print(m[i,j])
}
}
[1] 1
[1] 3
[1] 5
[1] 7
[1] 9
[1] 2
[1] 4
[1] 6
[1] 8
[1] 10
set.seed(1004)
mat1 <- matrix(sample(1:12), nrow = 3,ncol = 1)
mat2 <- matrix(sample(1:12), nrow = 3,ncol = 1)
mat3 <- matrix(sample(1:12), nrow = 3,ncol = 1)
mat4 <- matrix(sample(1:12), nrow = 3,ncol = 1)
source <- data.frame(mat1,mat2,mat3,mat4)
mat <- NULL
mat <- matrix(nrow = 3, ncol = 4) %>% as.data.frame()
for(j in 1:3){
for(i in 1:4){
mat[j,i] <- source[j,i]
}
}
> source
mat1 mat2 mat3 mat4
1 4 1 7 9
2 3 2 11 4
3 8 8 5 3
> mat
V1 V2 V3 V4
1 4 1 7 9
2 3 2 11 4
3 8 8 5 3
While 구문
i <- 1
while(i < 10){
print(i)
i <- i + 5
}
[1] 1
[1] 6
함수 정의
a <- c("yahoo","naver","google")
vector.print <- function(x){
for(i in seq(length(a))){
print(x[i])
}
}
> vector.print(a)
[1] "yahoo"
[1] "naver"
[1] "google"
APPLY 함수
- lapply : list apply
- sapply : simplication apply
plus <- function(x,y){x+y}
> sapply(1:10, plus, 3)
[1] 4 5 6 7 8 9 10 11 12 13
> sapply(1:10, '+', 3)
[1] 4 5 6 7 8 9 10 11 12 13
'R > Basic' 카테고리의 다른 글
폴더에서 파일 리스트 가져오기 (0) | 2019.04.27 |
---|---|
정규 표현식 (0) | 2019.04.22 |
행렬 생성, 호출 (0) | 2019.04.20 |
ggplot2 기초 (0) | 2019.04.17 |
R 설치 (0) | 2019.04.17 |