Como alterar valores em um vetor em R

Alterar valores em um vetor em R é realmente muito simples. Para ilustrar, vamos supor que você criou dois vetores contendo o número de cestas que Granny e Geraldine feitas em seis jogos de basquete, como segue:

> baskets.of.Granny lt; - c (12,4,4,6,9,3)> baskets.of.Geraldine lt; - c (5,3,2,2,12,9)

Mas suponhamos que a avó lhe diz que você cometeu um erro: No terceiro jogo, ela fez cinco cestas, e não quatro. Você pode facilmente corrigir este erro usando índices, como segue:

> Baskets.of.Granny [3] lt; - 5> baskets.of.Granny [1] 12 4 5 6 3 9

A atribuição de um índice específico é realmente uma função bem. É diferente, no entanto, a partir da função entre parênteses porque você também dar os valores de reposição como um argumento. material técnico chato, você diz? Não, se você perceber que, porque a atribuição de índices é uma função vectorized, você pode usar a reciclagem!

Imagine que você cometeu dois erros no número de cestas que o amigo da avó Geraldine marcados: Ela realmente marcou quatro vezes nos segundo e quarto jogos. Para corrigir as cestas para Geraldine, você pode usar o seguinte código:

> Baskets.of.Geraldine [c (2,4)] lt; - 4> baskets.of.Geraldine [1] 5 4 2 4 12 9

Como isso é legal? Você tem que ter cuidado, no entanto. R não dizer-lhe quando é valores de reciclagem, de modo que um erro de digitação pode lhe dar resultados inesperados.

R não tem um botão Undo, então quando você mudar um vetor, não há como voltar atrás. Você pode prevenir desastres fazendo primeiro uma cópia de seu objeto e, em seguida, alterando os valores na cópia, como mostrado no exemplo a seguir. Primeiro, faça uma cópia, atribuindo o vector baskets.of.Granny para o objecto Granny.copy:

> Granny.copy lt; - baskets.of.Granny

Você pode verificar o que está em ambos os objetos, digitando o nome na linha de comando e pressionar Enter. Agora você pode alterar o vector cestas.do.GRanny:

> Baskets.of.Granny [4] lt; - 11> baskets.of.Granny [1] 12 11 4 5 9 3

Se você cometer um erro, basta atribuir o vector Granny.copy de volta para o objeto baskets.of.Granny, como isso:

> baskets.of.Granny lt; - Granny.copy> baskets.of.Granny [1] 12 4 5 6 3 9

menu