Capítulo 10 Vetores

# -----------------------------------------------------------------------------
# Vetores
# -----------------------------------------------------------------------------
# Algumas das diversas formas de criar:

#c() - é uma função

c(1, 2, 3, 4, 100)
## [1]   1   2   3   4 100
1:100
##   [1]   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21
##  [22]  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42
##  [43]  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63
##  [64]  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84
##  [85]  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100
30:450
##   [1]  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50
##  [22]  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71
##  [43]  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92
##  [64]  93  94  95  96  97  98  99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
##  [85] 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
## [106] 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
## [127] 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
## [148] 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197
## [169] 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218
## [190] 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
## [211] 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260
## [232] 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281
## [253] 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302
## [274] 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323
## [295] 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344
## [316] 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365
## [337] 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386
## [358] 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407
## [379] 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428
## [400] 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449
## [421] 450
#seq()

seq(1,10,by=2)
## [1] 1 3 5 7 9
seq(1,
   10,
   by = 2)
## [1] 1 3 5 7 9
seq(5,
    12)
## [1]  5  6  7  8  9 10 11 12
seq(1,
    2,
    length = 10) 
##  [1] 1.000000 1.111111 1.222222 1.333333 1.444444 1.555556 1.666667 1.777778 1.888889
## [10] 2.000000
seq(0,
    100,
    by = 10)
##  [1]   0  10  20  30  40  50  60  70  80  90 100
seq(13,
    5)
## [1] 13 12 11 10  9  8  7  6  5
seq(10,
    1,
    by = -2)
## [1] 10  8  6  4  2
letters
##  [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u"
## [22] "v" "w" "x" "y" "z"
LETTERS
##  [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U"
## [22] "V" "W" "X" "Y" "Z"
c('coca', 'pepsi')
## [1] "coca"  "pepsi"
c("coca", "pepsi")
## [1] "coca"  "pepsi"
# Algumas formas de indexar (índices):
x = seq(1,
         10,
         by = 2)
x
## [1] 1 3 5 7 9
x[3:5]
## [1] 5 7 9
x[seq(1,5,by=2)]
## [1] 1 5 9
x[c(1,2,5)]
## [1] 1 3 9
x[-c(1, 4:5)]
## [1] 3 5
# Dar nomes aos componentes de um vetor:
w = c(80, 73, 50)  # a instrução entre () é interpretada e ecoada no console
w
## [1] 80 73 50
names(w) = c('joão',
             'ivan',
             'maria')

w
##  joão  ivan maria 
##    80    73    50
j = c(10,'ivan')
j
## [1] "10"   "ivan"
is.numeric(j)
## [1] FALSE
# Aritimética lógica
y = c(2,4,5,8,1,10)
y
## [1]  2  4  5  8  1 10
y > 5
## [1] FALSE FALSE FALSE  TRUE FALSE  TRUE
y[y>5]
## [1]  8 10
all(y < 6)
## [1] FALSE
any(y == 5)
## [1] TRUE
any(y != 3)
## [1] TRUE
any(y > 5)
## [1] TRUE
# | = ou
y[y < 4 | y > 8]
## [1]  2  1 10
# & = e
y[y > 4 & y < 8]
## [1] 5
y1 = y[y <= 5]
y1
## [1] 2 4 5 1
# -----------------------------------------------------------------------------
# Exercícios
# ----------------------------------------------------------------------------- 
# 1. Armazene um vetor de -500 a 500, contando de 3 em 3
# 2. Divida o vetor criado na questão 1 por -3
# 3. Do vetor criado na questão 1, armazene apenas os negativos
# 4. Armazene um vetor que vá de 8 a 15, de 3 maneiras diferentes
# 5. Crie um vetor que armazene o peso de 5 pessoas e os seus respectivos nomes
# 6. Ainda sobre o vetor criado na questão 5, descubra o se existe alguém com peso maior ou igual a 60kg, e caso, positivo, os armazene em um novo vetor