Como alterar os 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:

gt; baskets.of.Granny lt; - c (12,4,4,6,9,3) gt; 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:

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

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 índice é 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:

gt; baskets.of.Geraldine [C (2,4)] lt; - 4GT; baskets.of.Geraldine [1] 5 4 2 4 12 9


Quão legal é isso? Você tem que ter cuidado, no entanto. R não dizer-lhe quando é valores de reciclagem, então 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 por primeiro fazer 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:

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

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

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

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

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

Publicações relacionadas