Descobrir as propriedades de vectores em r

Os vectores têm uma estrutura e um tipo, e R é um pouco sensível sobre ambos. Alimentando R o tipo errado de vetor é como tentar fazer o seu gato comer comida de cachorro: Algo vai acontecer, e as chances são de que ele não vai ser o que você esperava. Então, é melhor você saber que tipo de vector que você tem.

Olhando para a estrutura de um vector

R dá-lhe uma maneira fácil de olhar para a estrutura de qualquer objeto. Este método vem a calhar quando você duvida a forma do resultado de uma função ou um script que você escreveu. Para dar uma olhada dentro objetos R, utilize o str () função.

Video: Me Salva! VET05 - Produto vetorial, explicação teórica e como calcular

o str () função dá-lhe o tipo ea estrutura do objeto.

Dê uma olhada no vector baskets.of.Granny:

gt; str (baskets.of.Granny) Num [1: 6] 12 4 5 6 9 3

R diz-lhe algumas coisas aqui:

  • Primeiro, diz-lhe que este é um num (Numérico) tipo de vector.

    Video: Grings - Geometria Analítica - Módulo ou Norma de um Vetor - Aula 3

  • Ao lado do tipo do vetor, R lhe dá as dimensões do vetor. Este exemplo tem apenas uma dimensão, e essa dimensão tem índices que variam de 1 a 6.

  • Finalmente, R lhe dá os primeiros valores do vetor. Neste exemplo, o vector tem apenas seis valores, então você vê todos eles.

Se você quiser saber única quanto tempo um vetor é, você pode simplesmente usar o comprimento() função, como segue:

gt; comprimento (baskets.of.Granny) [1] 6

Vetores em R pode ter outros tipos também. Se você olhar para o vetor autores, por exemplo, você vê uma pequena diferença:

gt; autores lt; - c ( “Andrie”, “Joris”) gt; str (autores) chr [1: 2] “Andrie” “Joris”

Mais uma vez, você tem as dimensões, o alcance dos índices e os valores. Mas desta vez, R indica o tipo de vector é chr (personagem).

Aqui estão alguns vetores que você vai querer saber:

  • vetores numéricos, contendo todos os tipos de números.

  • vetores inteiros, contendo valores inteiros. (Um vector de número inteiro é um tipo especial de vetor numérico.)

  • vetores lógicos, contendo valores lógicos (VERDADE e / ou FALSO).



  • vetores caráter, contendo texto.

  • vetores de data e hora, contendo as datas e horários em diferentes formatos.

  • fatores, um tipo especial de vetor para trabalhar com categorias.

Todos os tipos listados de vetores podem ter valores em falta (N / D).

R faz distinções claras entre estes tipos de vetores, em parte por razões de lógica. Multiplicando duas palavras, por exemplo, não faz sentido.

tipos vetor Testing

Apesar de str () função, R contém um conjunto de funções que permitem que você para testar o tipo de um vetor. Todas estas funções têm a mesma sintaxe: é, um ponto e, em seguida, o nome do tipo.

Você pode testar se um vetor é do tipo foo usando o is.foo () função. Este teste funciona para cada tipo de vetor apenas substituir foo com o tipo que você deseja verificar.

Para testar se baskets.of.Granny é um vector numérico, por exemplo, utilizar o seguinte código:

gt; is.numeric (baskets.of.Granny) [1] VERDADEIRO

Você pode pensar que baskets.of.Granny é um vetor de números inteiros, de modo a verificar-lo, como segue:

gt; is.integer (baskets.of.Granny) [1] FALSE

R discorda do professor de matemática aqui. número inteiro tem um significado diferente para R do que tem para nós. O resultado de is.integer () não é sobre o valor, mas sobre a forma como o valor é armazenado na memória.

R tem dois modos principais para o armazenamento de números. O modo padrão é Duplo. Neste modo, todos os números usa 64 bits de memória. O número também é armazenado em três partes. Um bit indica o sinal do número, 52 bits representam a parte decimal do número, e os bits restantes representam o expoente. Dessa forma, você pode armazenar números tão grandes como 1,8 × 10308 em apenas 64 bits de.

o número inteiro Modo leva apenas 32 bits de memória, e os números são representados como inteiros binários na memória. Assim, o maior inteiro é de cerca de 2,1 bilhões de dólares, ou, mais exatamente, 231 - 1. É 31 bits para representar o número em si, 1 bit para representar o sinal do número, e -1 porque você começa em 0.

Você deve usar inteiros se você quer fazer cálculos de número inteiro exatos em pequenos números inteiros ou se você quiser economizar memória. Caso contrário, o modo Duplo funciona muito bem. Uma das coisas agradáveis ​​sobre R é que você quase nunca precisa se preocupar sobre se algo é armazenado como um inteiro ou um duplo!

Você forçar R para armazenar um número como um número inteiro, adicionando eu depois, como no exemplo a seguir:

gt; X lt; - c (4L, 6L) gt; is.integer (X) [1] VERDADEIRO

Seja qual for o modo é usado para armazenar o valor, is.numeric () retornos VERDADE em ambos os casos.


Publicações relacionadas