2+3
(3+6)*8
2^3
2+3
[1] 5
(3+6)*8
[1] 72
2^3
[1] 8

log(10)+5 # 로그함수
sqrt(25) # 제곱근
max(5,3,2) # 가장 큰 값
log(10)+5 # 로그함수
[1] 7.302585
sqrt(25) # 제곱근
[1] 5
max(5,3,2) # 가장 큰 값
[1] 5


a <- 10
b <- 20
c <- a+b
print(c)
a <- 10
b <- 20
c <- a+b
print(c)
[1] 30



a <- 10 # 권장
b = 20 # 권장하지 않음
a <- 125
a
print(a)
a <- 125
a
[1] 125
print(a)
[1] 125

a <- 10 # a에 숫자 저장
b <- 20
a+b # a+b의 결과 출력
a <- "A" # a에 문자 저장
a+b # a+b의 결과 출력. 에러 발생
a <- 10 # a에 숫자 저장
b <- 20
a+b # a+b의 결과 출력
[1] 30
a <- "A" # a에 문자 저장
a+b # a+b의 결과 출력. 에러 발생
Error in a + b : non-numeric argument to binary operator





x <- c(1,2,3) # 숫자형 벡터
y <- c("a","b","c") # 문자형 벡터
z <- c(TRUE,TRUE, FALSE, TRUE) # 논리형 벡터
x # x에 저장된 값을 출력
y
z
x <- c(1,2,3) # 숫자형 벡터
y <- c("a","b","c") # 문자형 벡터
z <- c(TRUE,TRUE, FALSE, TRUE) # 논리형 벡터
x # x에 저장된 값을 출력
[1] 1 2 3
y
[1] "a" "b" "c"
z
[1] TRUE TRUE FALSE TRUE
w <- c(1,2,3, "a","b","c")
w
w <- c(1,2,3, "a","b","c")
w
[1] "1" "2" "3" "a" "b" "c"
v1 <- 50:90
v1
v2 <- c(1,2,5, 50:90)
v2
v1 <- 50:90
v1
[1] 50 51 52 53 54 55 56 57 58 59 60 61 62 63
[15] 64 65 66 67 68 69 70 71 72 73 74 75 76 77
[29] 78 79 80 81 82 83 84 85 86 87 88 89 90
v2 <- c(1,2,5, 50:90)
v2
[1] 1 2 5 50 51 52 53 54 55 56 57 58 59 60
[15] 61 62 63 64 65 66 67 68 69 70 71 72 73 74
[29] 75 76 77 78 79 80 81 82 83 84 85 86 87 88
[43] 89 90
v3 <- seq(1,101,3)
v3
v4 <- seq(0.1,1.0,0.1)
v4
v3 <- seq(1,101,3)
v3
[1] 1 4 7 10 13 16 19 22 25 28 31
[12] 34 37 40 43 46 49 52 55 58 61 64
[23] 67 70 73 76 79 82 85 88 91 94 97
[34] 100
v4 <- seq(0.1,1.0,0.1)
v4
[1] 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
v5 <- rep(1,times=5) # 1을 5번 반복
v5
v6 <- rep(1:5,times=3) # 1에서 5까지 3번 반복
v6
v7 <- rep(c(1,5,9), times=3) # 1, 5, 9를 3번 반복
v7
v4 <- seq(0.1,1.0,0.1)
v4
[1] 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
v5 <- rep(1,times=5) # 1을 5번 반복
v5
[1] 1 1 1 1 1
v6 <- rep(1:5,times=3) # 1에서 5까지 3번 반복
v6
[1] 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
v7 <- rep(c(1,5,9), times=3) # 1, 5, 9를 3번 반복
v7
[1] 1 5 9 1 5 9 1 5 9
score <- c(90,85,70) # 성적
score
names(score) # score에 저장된 값들의 이름을 보이시오
names(score) <- c("John","Tom","Jane") # 값들에 이름을 부여
names(score) # score에 저장된 값들의 이름을 보이시오
score # 이름과 함께 값이 출력
score <- c(90,85,70) # 성적
score
[1] 90 85 70
names(score) # score에 저장된 값들의 이름을 보이시오
NULL
names(score) <- c("John","Tom","Jane") # 값들에 이름을 부여
names(score) # score에 저장된 값들의 이름을 보이시오
[1] "John" "Tom" "Jane"
score # 이름과 함께 값이 출력
John Tom Jane
90 85 70

d <- c(1,4,3,7,8)
d[1]
d[2]
d[3]
d[4]
d[5]
d[6]
d <- c(1,4,3,7,8)
d[1]
1
d[2]
4
d[3]
3
d[4]
7
d[5]
8
d[6]
NA
d <- c(1,4,3,7,8)
d[c(1,3,5)] # 1, 3, 5번째 값 출력
d[1:3] # 처음 세 개의 값 출력
d[seq(1,5,2)] # 홀수 번째 값 출력
d[-2] # 2번째 값 제외하고 출력
d[-c(3:5)] # 3~5번째 값은 제외하고 출력
d <- c(1,4,3,7,8)
d[c(1,3,5)] # 1, 3, 5번째 값 출력
[1] 1 3 8
d[1:3] # 처음 세 개의 값 출력
[1] 1 4 3
d[seq(1,5,2)] # 홀수 번째 값 출력
[1] 1 3 8
d[-2] # 2번째 값 제외하고 출력
[1] 1 3 7 8
d[-c(3:5)] # 3~5번째 값은 제외하고 출력
[1] 1 4
GNP <- c(2090,2450,960)
GNP
names(GNP) <- c("Korea","Japan","Nepal")
GNP
GNP[1]
GNP["Korea"]
GNP[c("Korea","Nepal")]
GNP <- c(2090,2450,960)
GNP
[1] 2090 2450 960
names(GNP) <- c("Korea","Japan","Nepal")
GNP
Korea Japan Nepal
2090 2450 960
GNP[1]
Korea
2090
GNP["Korea"]
Korea
2090
GNP[c("Korea","Nepal")]
Korea Nepal
2090 960
v1 <- c(1,5,7,8,9)
v1
v1[2] <- 3 # v1의 2번째 값을 3으로 변경
v1
v1[c(1,5)] <- c(10,20) # v1의 1, 5번째 값을 각각 10, 20으로 변경
v1
v1 <- c(1,5,7,8,9)
v1
[1] 1 5 7 8 9
v1[2] <- 3 # v1의 2번째 값을 3으로 변경
v1
[1] 1 3 7 8 9
v1[c(1,5)] <- c(10,20) # v1의 1, 5번째 값을 각각 10, 20으로 변경
v1
[1] 10 3 7 8 20
d <- c(1,4,3,7,8)
2*d
d-5
3*d+4
d <- c(1,4,3,7,8)
2d
[1] 2 8 6 14 16
d-5
[1] -4 -1 -2 2 3
3d+4
[1] 7 16 13 25 28
x <- c(1,2,3)
y <- c(4,5,6)
x+y # 대응하는 원소끼리 더하여 출력
x*y # 대응하는 원소끼리 곱하여 출력
z <- x + y # x, y를 더하여 z에 저장
z
x <- c(1,2,3)
y <- c(4,5,6)
x+y # 대응하는 원소끼리 더하여 출력
[1] 5 7 9
x*y # 대응하는 원소끼리 곱하여 출력
[1] 4 10 18
z <- x + y # x, y를 더하여 z에 저장
z
[1] 5 7 9

d <- c(1,2,3,4,5,6,7,8,9,10)
sum(d) # d의 포함된 값들의 합
sum(2*d) # d의 포함된 값들에 2를 곱한 후 합한 값
length(d) # d에 포함된 값들의 개수
mean(d[1:5]) # 1~5번째 값들의 평균
max(d) # d에 포함된 값들의 최댓값
min(d) # d에 포함된 값들의 최솟값
sort(d) # 오름차순 정렬
sort(d, decreasing = FALSE) # 오름차순 정렬
sort(d, decreasing = TRUE) # 내림차순 정렬
v1 <- median(d)
v1
v2 <- sum(d)/length(d)
v2
d <- c(1,2,3,4,5,6,7,8,9,10)
sum(d) # d의 포함된 값들의 합
[1] 55
sum(2*d) # d의 포함된 값들에 2를 곱한 후 합한 값
[1] 110
length(d) # d에 포함된 값들의 개수
[1] 10
mean(d[1:5]) # 1~5번째 값들의 평균
[1] 3
max(d) # d에 포함된 값들의 최댓값
[1] 10
min(d) # d에 포함된 값들의 최솟값
[1] 1
sort(d) # 오름차순 정렬
[1] 1 2 3 4 5 6 7 8 9 10
sort(d, decreasing = FALSE) # 오름차순 정렬
[1] 1 2 3 4 5 6 7 8 9 10
sort(d, decreasing = TRUE) # 내림차순 정렬
[1] 10 9 8 7 6 5 4 3 2 1
v1 <- median(d)
v1
[1] 5.5
v2 <- sum(d)/length(d)
v2
[1] 5.5

d <- c(1,2,3,4,5,6,7,8,9)
d>=5
d[d>5] # 5보다 큰 값
sum(d>5) # 5보다 큰 값의 개수를 출력
sum(d[d>5]) # 5보다 큰 값의 합계를 출력
d==5
condi <- d > 5 & d < 8 # 조건을 변수에 저장
d[condi] # 조건에 맞는 값들을 선택
d <- c(1,2,3,4,5,6,7,8,9)
d>=5
[1] FALSE FALSE FALSE FALSE TRUE TRUE TRUE
[8] TRUE TRUE
d[d>5] # 5보다 큰 값
[1] 6 7 8 9
sum(d>5) # 5보다 큰 값의 개수를 출력
[1] 4
sum(d[d>5]) # 5보다 큰 값의 합계를 출력
[1] 30
d==5
[1] FALSE FALSE FALSE FALSE TRUE FALSE FALSE
[8] FALSE FALSE
condi <- d > 5 & d < 8 # 조건을 변수에 저장
d[condi] # 조건에 맞는 값들을 선택
[1] 6 7
ds <- c(90, 85, 70, 84)
my.info <- list(name='Tom', age=60, status=TRUE, score=ds)
my.info # 리스트에 저장된 내용을 모두 출력
my.info[[1]] # 리스트의 첫 번째 값을 출력
my.info$name # 리스트에서 값의 이름이 name인 값을 출력
my.info[[4]] # 리스트의 네 번째 값을 출력
ds <- c(90, 85, 70, 84)
my.info <- list(name='Tom', age=60, status=TRUE, score=ds)
my.info # 리스트에 저장된 내용을 모두 출력
$name
[1] "Tom"
$age
[1] 60
$status
[1] TRUE
$score
[1] 90 85 70 84
my.info[[1]] # 리스트의 첫 번째 값을 출력
[1] "Tom"
my.info$name # 리스트에서 값의 이름이 name인 값을 출력
[1] "Tom"
my.info[[4]] # 리스트의 네 번째 값을 출력
[1] 90 85 70 84
bt <- c('A', 'B', 'B', 'O', 'AB', 'A') # 문자형 벡터 bt 정의
bt.new <- factor(bt) # 팩터 bt.new 정의
bt # 벡터 bt의 내용 출력
bt.new # 팩터 bt.new의 내용 출력
bt[5] # 벡터 bt의 5번째 값 출력
bt.new[5] # 팩터 bt.new의 5번째 값 출력
levels(bt.new) # 팩터에 저장된 값의 종류를 출력
as.integer(bt.new) # 팩터의 문자값을 숫자로 바꾸어 출력
bt.new[7] <- 'B’ # 팩터 bt.new의 7번째에 'B' 저장
bt.new[8] <- 'C’ # 팩터 bt.new의 8번째에 'C' 저장
bt.new # 팩터 bt.new의 내용 출력
bt <- c('A', 'B', 'B', 'O', 'AB', 'A') # 문자형 벡터 bt 정의
bt.new <- factor(bt) # 팩터 bt.new 정의
bt # 벡터 bt의 내용 출력
[1] "A" "B" "B" "O" "AB" "A"
bt.new # 팩터 bt.new의 내용 출력
[1] A B B O AB A
Levels: A AB B O
bt[5] # 벡터 bt의 5번째 값 출력
[1] "AB"
bt.new[5] # 팩터 bt.new의 5번째 값 출력
[1] AB
Levels: A AB B O
levels(bt.new) # 팩터에 저장된 값의 종류를 출력
[1] "A" "AB" "B" "O"
as.integer(bt.new) # 팩터의 문자값을 숫자로 바꾸어 출력
[1] 1 3 3 4 2 1
bt.new[7] <- 'B’ # 팩터 bt.new의 7번째에 'B' 저장
Error: unexpected symbol in "bt.new[7] <- 'B’ # 팩터 bt.new의 7번째에 'B"
bt.new # 팩터 bt.new의 내용 출력
[1] A B B O AB A
Levels: A AB B O