r 프로그래밍 실습 예제입니다 #### 1. R을 이용하여 다음 계산식의 코드를 작성하고 답을 구하시오. + 25+99
25+99
## [1] 124
456-123
## [1] 333
2*(3+4)
## [1] 14
(3+5*6)%/%7
## [1] 4
(7-4)*3
## [1] 9
210+35
## [1] 245
1256%%7
## [1] 3
184%%5
## [1] 4
1976%/%24
## [1] 82
16*25+186*5-67*22
## [1] -144
변수 a와 b에 각각 4와 5를 저장한 후, a+b의 결과를 c에 저장하고 c의 내용을 출력한다.
a<-4
b<-5
c<-(a+b)
c
## [1] 9
변수 pi에 3.14를 저장한 후, pi를 이용하여 반지름이 10, 12, 15인 원의 면적을 각각 구한다.
pi<-3.14
x<-c(10,12,15)
pi*x^2
## [1] 314.00 452.16 706.50
y=2x2+5x+10에 대해 x가 각각 6, 8, 10일 때 y의 값을 각각 구한다.
x<-c(6,8,10)
y<-2*x^2+5*x+10
y
## [1] 112 178 260
val.a<-10
#sum.ab<-val.a+val.b
#객체val.b를 찾을 수 없는 에러가 난다. 따라서 val.b를 새로운 변수로 선언해야 한다.
vc.1<-c(95,86,47,55,68)
vc.1
## [1] 95 86 47 55 68
x<-100:200
vc.2<-x[x%%2==0]
vc.2
## [1] 100 102 104 106 108 110 112 114 116 118 120 122 124 126 128 130 132 134 136
## [20] 138 140 142 144 146 148 150 152 154 156 158 160 162 164 166 168 170 172 174
## [39] 176 178 180 182 184 186 188 190 192 194 196 198 200
x<-rep(c(1,2,3,4,5),times=20)
vc.3<-x%%5==0
length(vc.3[vc.3==TRUE])
## [1] 20
(d<-c(100:200))
## [1] 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
## [19] 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
## [37] 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
## [55] 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
## [73] 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189
## [91] 190 191 192 193 194 195 196 197 198 199 200
d[10]
## [1] 109
tail(d,10)
## [1] 191 192 193 194 195 196 197 198 199 200
d[d%%2==1]
## [1] 101 103 105 107 109 111 113 115 117 119 121 123 125 127 129 131 133 135 137
## [20] 139 141 143 145 147 149 151 153 155 157 159 161 163 165 167 169 171 173 175
## [39] 177 179 181 183 185 187 189 191 193 195 197 199
d[d%%3==0]
## [1] 102 105 108 111 114 117 120 123 126 129 132 135 138 141 144 147 150 153 156
## [20] 159 162 165 168 171 174 177 180 183 186 189 192 195 198
(d.20<-head(d,20))
## [1] 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
## [20] 119
d.20[-5]
## [1] 100 101 102 103 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
d.20[-c(5,7,9)]
## [1] 100 101 102 103 105 107 109 110 111 112 113 114 115 116 117 118 119
월 | JAN | FEB | MAR | APR | JUN | JUL | AUG | SEP | OCT | NOV | DEC
결석생수| 10 | 8 | 14 | 15 | 9 | 10 | 15 | 12 | 9 | 7 | 8 | 7
absent<-c(10,8,14,15,9,10,15,12,9,7,8,7)
names(absent)<-month.name
absent
## January February March April May June July August
## 10 8 14 15 9 10 15 12
## September October November December
## 9 7 8 7
absent
## January February March April May June July August
## 10 8 14 15 9 10 15 12
## September October November December
## 9 7 8 7
absent[5]
## May
## 9
absent[c(7,9)]
## July September
## 15 9
sum(absent[1:6])
## [1] 66
sum(absent[7:12])
## [1] 58
d1 <- 1:50
d2 <- 51:100
(d1<-1:50)
## [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
## [26] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
(d2<-51:100)
## [1] 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
## [20] 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
## [39] 89 90 91 92 93 94 95 96 97 98 99 100
length(d2)
## [1] 50
d1+d2
## [1] 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88
## [20] 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 122 124 126
## [39] 128 130 132 134 136 138 140 142 144 146 148 150
d2-d1
## [1] 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
## [26] 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
d1*d2
## [1] 51 104 159 216 275 336 399 464 531 600 671 744 819 896 975
## [16] 1056 1139 1224 1311 1400 1491 1584 1679 1776 1875 1976 2079 2184 2291 2400
## [31] 2511 2624 2739 2856 2975 3096 3219 3344 3471 3600 3731 3864 3999 4136 4275
## [46] 4416 4559 4704 4851 5000
d2%%d1
## [1] 0 0 2 2 0 2 1 2 5 0 6 2 11 8 5 2 16 14 12 10 8 6 4 2 0
## [26] 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
sum(d1)
## [1] 1275
sum(d2)
## [1] 3775
sum(d1,d2)
## [1] 5050
max(d2)
## [1] 100
min(d2)
## [1] 51
#d2와 d1의 값들의 평균값을 각각 구하고 두 평균의 차이를 출력하시오.
(a<-mean(d1))
## [1] 25.5
(b<-mean(d2))
## [1] 75.5
abs(a-b)
## [1] 50
#d1의 값들을 큰 수에서 작은 수 순서로 정렬하여 출력하시오.
sort(d1,decreasing = T)
## [1] 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26
## [26] 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
a<-head(d1,10)
b<-head(d2,10)
d3<-c(a,b)
v1 <- 51:90
v1 <- 51:90
v1[v1<60]
## [1] 51 52 53 54 55 56 57 58 59
length(v1[v1<70])
## [1] 19
sum(v1[v1>65])
## [1] 1950
v1[v1>60&v1<73]
## [1] 61 62 63 64 65 66 67 68 69 70 71 72
v1[v1<65|v1>80]
## [1] 51 52 53 54 55 56 57 58 59 60 61 62 63 64 81 82 83 84 85 86 87 88 89 90
v1[v1%%7==3]
## [1] 52 59 66 73 80 87
v1[v1%%7==0]<-0
#위에서 7의 배수를 0으로 변경한 것을 다시 되돌렸습니다.
v1 <- 51:90
sum(v1[v1%%2==0])
## [1] 1420
v1[v1%%2==1|v1>80]
## [1] 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 82 83 84 85 86 87 88 89 90
v1[v1%%3==0|v1%%5==0]
## [1] 51 54 55 57 60 63 65 66 69 70 72 75 78 80 81 84 85 87 90
v1[v1%%2==0]<-v1[v1%%2==0]*2
v1[v1%%7==0]<-NA
(V1<-v1[is.na(v1)==FALSE])
## [1] 51 104 53 108 55 57 116 59 120 61 124 128 65 132 67 136 69 71 144
## [20] 73 148 75 152 156 79 160 81 164 83 85 172 87 176 89 180