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.
Conteúdo
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.