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

# 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