# [2024001910_r_실습2]
5+8
3+(4*5)
a <- 10
print(a)
# [2024001910_r_실습3]
5+8
3+(4*5)
a <- 10
print(a)
# [2024001910_r_실습7]
library(ggplot2)
# [2024001910_r_실습8]
2+3
(3+6*8)
2^3
# [2024001910_r_실습9]
7+4
# 2^3
# [2024001910_r_실습10]
log(10) + 5 # 로그함수
sqrt(25) # 제곱근
max(5, 3, 2) # 가장 큰 값
# [2024001910_r_실습11]
a <- 10
b <- 20
c <- a+b
print(c)
# [2024001910_r_실습12]
a <- 125
a
print(a)
# [2024001910_r_실습13]
a <- 10 # a에 숫자 저장
b <- 20 # a+b의 결과 출력
a+b
a <- "A" # a에 문자 저장
a+b # a+b의 결과 출력. 에러 발생
# [2024001910_r_실습14]
x <- c(1,2,3) # 숫자형 벡터 x
y <- c("a","b","c") # 문자형 벡터 y
z <- c(TRUE, TRUE, FALSE, TRUE) # 논리형 벡터 z
x # x에 저장된 값을 출력
y
z
# [2024001910_r_실습15]
w <- c(1,2,3, "a", "b", "c")
w
# [2024001910_r_실습16]
v1 <- c(50:90)
v1
v2 <- c(1,2,5, 50:90)
v2
# [2024001910_r_실습17]
v3 <- seq(1, 101, 3) # 1부터 101까지 간격은 3의 벡터
v3
v4 <- seq(0.1, 1.0, 0.1) # 0.1부터 1까지 간격은 0.1의 벡터
v4
# [2024001910_r_실습18]
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
# [2024001910_r_실습19]
score <- c(90,85,70) # 성적
score
names(score) # score에 저장된 값들의 이름을 보이시오
names(score) <- c("John","Tom","Jane") # 값들에 이름을 부여
names(score) # score에 저장된 값들의 이름을 보이시오
score # 이름과 함께 값이 출력
# [2024001910_r_실습20]
d <- c(1,4,3,7,8)
d[1] # d의 첫번째 값
d[2] # d의 두번째 값
d[3] # d의 세번째 값
d[4] # d의 네번째 값
d[5] # d의 다섯번째 값
d[6] # d의 여섯번째 값 -> 값이 없을 경우 NA를 출력
# [2024001910_r_실습21] 제일 중요한 부분
d <- c(1,4,3,7,8) # 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번째 값은 제외하고 출력
# [2024001910_r_실습22]
GNP <- c(2090, 2450, 960) # GNP의 벡터에 2090, 2450, 960 저장
GNP
names(GNP) <- c("Korea", "Japan", "Nepal") # 각각의 값에 이름 부여
GNP
GNP[1] # 첫번째 요소 출력
GNP["Korea"] # 'Korea'의 제목을 가진 값 출력
GNP[c("Korea", "Nepal")] # 'Korea', 'Nepal'의 제목을 가진 값 출력
# [2024001910_r_실습23]
v1 <- c(1,5,7,8,9) # 1,5,7,8,9의 값으로 v1벡터 구성
v1
v1[2] <- 3 # v1의 2번째 값을 3으로 변경
v1
v1[c(1,5)] <- c(10,20) # v1의 1, 5번째 값을 각각 10, 20으로 변경
v1
# [2024001910_r_문제1]
# R을 이용하여 다음 계산식의 코드를 작성하고 답을 구하시오.
25 + 99
456 - 123
2 * (3 + 4)
(3 + 5 * 6) / 7
(7 - 4) * 3
210 + 35
1256 %% 7 # 나머지 연산
184 %% 5 # 나머지 연산
1976 / 24
16 * 25 + 186 * 5 - 67 * 22
# [2024001910_r_문제2]
# R에서 사용하는 주석처리 기호는 무엇인가
# 편집창에 주석 오른쪽에 자신의 이름을 기재
# 정상연
# 원의 면적은 pi × 반지름^2
pi <- 3.14
# [2024001910_r_문제3]
# R을 이용하여 다음의 내용을 코드로 작성하고 답을 구하시오.
# 변수 pi에 3.14를 저장한 후, pi를 이용하여 반지름이 10, 12, 15인 원의 면적을 각각 구한다.
# 반지름이 10, 12, 15인 원의 면적 계산
pi * 10^2
pi * 12^2
pi * 15^2
# [2024001910_r_문제4]
# R을 이용하여 다음의 내용을 코드로 작성하고 답을 구하시오.
# y = √x 에 대해 x가 각각 8, 12일 때 y의 값을 각각 구한다.
# 루트는 sqrt 함수 사용
x <- 8
y <- sqrt(x)
y
x <- 12
y <- sqrt(x)
y
# [2024001910_r_문제5]
# R을 이용하여 다음의 내용을 코드로 작성하고 답을 구하십시오.
# 100~200 사이의 짝수(2의 간격)로 구성된 벡터 vc.2를 생성하고 vc.2의 내용을 출력
vc.2 <- seq(100, 200, by = 2)
# 벡터 출력
vc.2
# [2024001910_r_문제6]
# R을 이용하여 다음의 내용을 코드로 작성하고 답을 구하시오.
# rep()를 이용하여 20개의 TRUE로 구성된 vc.3를 생성하고 vc.3의 내용을 출력
vc.3 <- rep(TRUE, 20)
# 벡터 출력
vc.3
# [2024001910_r_문제7]
# R을 이용하여 다음의 내용을 코드로 작성하고 답을 구하시오.
# 100에서 200으로 구성된 벡터 d를 생성한 다음 각 문제를 수행
# (1) 100에서 200까지 벡터 d 생성
d <- 100:200
d
# (2) d의 10번째 값 출력
d[10]
# (3) d의 첫번째부터 20개의 값을 d.20에 저장하고 출력
d.20 <- d[1:20]
d.20
# (4) d.20의 5번째 값을 제외한 나머지 값 출력
d.20[-5]
# [2024001910_r_문제8]
#R을 이용하여 다음의 내용을 코드로 작성하고 답을 구하시오.
#월별 결석생 수 통계가 다음과 같을 때 이 자료를 absent 벡터에 저장하십시오
#(결석생 수를 값으로 하고, 월 이름을 값의 이름으로 한다).
#월: JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC
#결석생 수: 10 8 14 15 9 10 15 12 9 7 8 7
# (1) absent 벡터에 월별 결석생 수 저장
absent <- c(10, 8, 14, 15, 9, 10, 15, 12, 9, 7, 8, 7)
absent
# (2) 각 값에 월 이름 부여
names(absent) <- c("JAN","FEB","MAR","APR","MAY","JUN",
"JUL","AUG","SEP","OCT","NOV","DEC")
absent
# (3) 5월(MAY)의 결석생 수 출력
absent["MAY"]
이렇게 하면
실습 13에서 오류 나서 전체 실행 불가능 주석처리 후 재 실행
> # [2024001910_r_실습2]
> 5+8
[1] 13
> 3+(4*5)
[1] 23
> a <- 10
> print(a)
[1] 10
> # [2024001910_r_실습3]
> 5+8
[1] 13
> 3+(4*5)
[1] 23
> a <- 10
> print(a)
[1] 10
> # [2024001910_r_실습7]
> library(ggplot2)
> # [2024001910_r_실습8]
> 2+3
[1] 5
> (3+6*8)
[1] 51
> 2^3
[1] 8
> # [2024001910_r_실습9]
> 7+4
[1] 11
> # 2^3
>
> # [2024001910_r_실습10]
> log(10) + 5 # 로그함수
[1] 7.302585
> sqrt(25) # 제곱근
[1] 5
> max(5, 3, 2) # 가장 큰 값
[1] 5
> # [2024001910_r_실습11]
> a <- 10
> b <- 20
> c <- a+b
> print(c)
[1] 30
> # [2024001910_r_실습12]
> a <- 125
> a
[1] 125
> print(a)
[1] 125
> # [2024001910_r_실습13]
> a <- 10 # a에 숫자 저장
> b <- 20 # a+b의 결과 출력
> a+b
[1] 30
> #a <- "A" # a에 문자 저장
> #a+b # a+b의 결과 출력. 에러 발생
>
> # [2024001910_r_실습14]
> x <- c(1,2,3) # 숫자형 벡터 x
> y <- c("a","b","c") # 문자형 벡터 y
> z <- c(TRUE, TRUE, FALSE, TRUE) # 논리형 벡터 z
> x # x에 저장된 값을 출력
[1] 1 2 3
> y
[1] "a" "b" "c"
> z
[1] TRUE TRUE FALSE TRUE
> # [2024001910_r_실습15]
> w <- c(1,2,3, "a", "b", "c")
> w
[1] "1" "2" "3" "a" "b" "c"
> # [2024001910_r_실습16]
> v1 <- c(50:90)
> v1
[1] 50 51 52 53 54 55 56 57
[9] 58 59 60 61 62 63 64 65
[17] 66 67 68 69 70 71 72 73
[25] 74 75 76 77 78 79 80 81
[33] 82 83 84 85 86 87 88 89
[41] 90
> v2 <- c(1,2,5, 50:90)
> v2
[1] 1 2 5 50 51 52 53 54
[9] 55 56 57 58 59 60 61 62
[17] 63 64 65 66 67 68 69 70
[25] 71 72 73 74 75 76 77 78
[33] 79 80 81 82 83 84 85 86
[41] 87 88 89 90
> # [2024001910_r_실습17]
> v3 <- seq(1, 101, 3) # 1부터 101까지 간격은 3의 벡터
> v3
[1] 1 4 7 10 13 16
[7] 19 22 25 28 31 34
[13] 37 40 43 46 49 52
[19] 55 58 61 64 67 70
[25] 73 76 79 82 85 88
[31] 91 94 97 100
> v4 <- seq(0.1, 1.0, 0.1) # 0.1부터 1까지 간격은 0.1의 벡터
> v4
[1] 0.1 0.2 0.3 0.4 0.5 0.6
[7] 0.7 0.8 0.9 1.0
> # [2024001910_r_실습18]
> 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
[14] 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
> # [2024001910_r_실습19]
> 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
> # [2024001910_r_실습20]
> d <- c(1,4,3,7,8)
> d[1] # d의 첫번째 값
[1] 1
> d[2] # d의 두번째 값
[1] 4
> d[3] # d의 세번째 값
[1] 3
> d[4] # d의 네번째 값
[1] 7
> d[5] # d의 다섯번째 값
[1] 8
> d[6] # d의 여섯번째 값 -> 값이 없을 경우 NA를 출력
[1] NA
> # [2024001910_r_실습21] 제일 중요한 부분
> d <- c(1,4,3,7,8) # 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
> # [2024001910_r_실습22]
> GNP <- c(2090, 2450, 960) # GNP의 벡터에 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'의 제목을 가진 값 출력
Korea
2090
> GNP[c("Korea", "Nepal")] # 'Korea', 'Nepal'의 제목을 가진 값 출력
Korea Nepal
2090 960
> # [2024001910_r_실습23]
> v1 <- c(1,5,7,8,9) # 1,5,7,8,9의 값으로 v1벡터 구성
> 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
> # [2024001910_r_문제1]
> # R을 이용하여 다음 계산식의 코드를 작성하고 답을 구하시오.
> 25 + 99
[1] 124
> 456 - 123
[1] 333
> 2 * (3 + 4)
[1] 14
> (3 + 5 * 6) / 7
[1] 4.714286
> (7 - 4) * 3
[1] 9
> 210 + 35
[1] 245
> 1256 %% 7 # 나머지 연산
[1] 3
> 184 %% 5 # 나머지 연산
[1] 4
> 1976 / 24
[1] 82.33333
> 16 * 25 + 186 * 5 - 67 * 22
[1] -144
> # [2024001910_r_문제2]
> # R에서 사용하는 주석처리 기호는 무엇인가
> # 편집창에 주석 오른쪽에 자신의 이름을 기재
> # 정상연
>
> # 원의 면적은 pi × 반지름^2
> pi <- 3.14
> # [2024001910_r_문제3]
> # R을 이용하여 다음의 내용을 코드로 작성하고 답을 구하시오.
>
> # 변수 pi에 3.14를 저장한 후, pi를 이용하여 반지름이 10, 12, 15인 원의 면적을 각각 구한다.
> # 반지름이 10, 12, 15인 .... [TRUNCATED]
[1] 314
> pi * 12^2
[1] 452.16
> pi * 15^2
[1] 706.5
> # [2024001910_r_문제4]
> # R을 이용하여 다음의 내용을 코드로 작성하고 답을 구하시오.
> # y = √x 에 대해 x가 각각 8, 12일 때 y의 값을 각각 구한다.
> # 루트는 sqrt 함수 사용
> x <- 8
> y <- sqrt(x)
> y
[1] 2.828427
> x <- 12
> y <- sqrt(x)
> y
[1] 3.464102
> # [2024001910_r_문제5]
> # R을 이용하여 다음의 내용을 코드로 작성하고 답을 구하십시오.
> # 100~200 사이의 짝수(2의 간격)로 구성된 벡터 vc.2를 생성하고 vc.2의 내용을 출력
> vc.2 <- seq(100, 200, by = 2 .... [TRUNCATED]
> # 벡터 출력
> vc.2
[1] 100 102 104 106 108 110
[7] 112 114 116 118 120 122
[13] 124 126 128 130 132 134
[19] 136 138 140 142 144 146
[25] 148 150 152 154 156 158
[31] 160 162 164 166 168 170
[37] 172 174 176 178 180 182
[43] 184 186 188 190 192 194
[49] 196 198 200
> # [2024001910_r_문제6]
> # R을 이용하여 다음의 내용을 코드로 작성하고 답을 구하시오.
> # rep()를 이용하여 20개의 TRUE로 구성된 vc.3를 생성하고 vc.3의 내용을 출력
> vc.3 <- rep(TRUE, 20)
> # 벡터 출력
> vc.3
[1] TRUE TRUE TRUE TRUE TRUE
[6] TRUE TRUE TRUE TRUE TRUE
[11] TRUE TRUE TRUE TRUE TRUE
[16] TRUE TRUE TRUE TRUE TRUE
> # [2024001910_r_문제7]
> # R을 이용하여 다음의 내용을 코드로 작성하고 답을 구하시오.
> # 100에서 200으로 구성된 벡터 d를 생성한 다음 각 문제를 수행
>
> # (1) 100에서 200까지 벡터 d 생성
> d <- 100:200
> d
[1] 100 101 102 103 104 105
[7] 106 107 108 109 110 111
[13] 112 113 114 115 116 117
[19] 118 119 120 121 122 123
[25] 124 125 126 127 128 129
[31] 130 131 132 133 134 135
[37] 136 137 138 139 140 141
[43] 142 143 144 145 146 147
[49] 148 149 150 151 152 153
[55] 154 155 156 157 158 159
[61] 160 161 162 163 164 165
[67] 166 167 168 169 170 171
[73] 172 173 174 175 176 177
[79] 178 179 180 181 182 183
[85] 184 185 186 187 188 189
[91] 190 191 192 193 194 195
[97] 196 197 198 199 200
> # (2) d의 10번째 값 출력
> d[10]
[1] 109
> # (3) d의 첫번째부터 20개의 값을 d.20에 저장하고 출력
> d.20 <- d[1:20]
> d.20
[1] 100 101 102 103 104 105
[7] 106 107 108 109 110 111
[13] 112 113 114 115 116 117
[19] 118 119
> # (4) d.20의 5번째 값을 제외한 나머지 값 출력
> d.20[-5]
[1] 100 101 102 103 105 106
[7] 107 108 109 110 111 112
[13] 113 114 115 116 117 118
[19] 119
> # [2024001910_r_문제8]
> #R을 이용하여 다음의 내용을 코드로 작성하고 답을 구하시오.
>
> #월별 결석생 수 통계가 다음과 같을 때 이 자료를 absent 벡터에 저장하십시오
> #(결석생 수를 값으로 하고, 월 이름을 값의 이름으로 한다).
.... [TRUNCATED]
> absent
[1] 10 8 14 15 9 10 15 12
[9] 9 7 8 7
> # (2) 각 값에 월 이름 부여
> names(absent) <- c("JAN","FEB","MAR","APR","MAY","JUN",
+ "JUL","AUG","SEP","OCT","NOV","DEC")
> absent
JAN FEB MAR APR MAY JUN JUL
10 8 14 15 9 10 15
AUG SEP OCT NOV DEC
12 9 7 8 7
> # (3) 5월(MAY)의 결석생 수 출력
> absent["MAY"]
MAY
9