Como adicionar Campos calculados a dados em R
Depois de criar o subconjunto adequado de seus dados, o próximo passo em sua análise é provável que seja para realizar alguns cálculos com R.
Menu
Como fazer aritmética em colunas de uma estrutura de dados
R torna muito fácil para executar cálculos em colunas de um quadro de dados porque cada coluna é em si um vetor. Cumprindo com o íris frame de dados, tentar fazer alguns cálculos nas colunas. Por exemplo, o cálculo da relação entre o comprimento e largura das sépalas:
> x lt; - iris $ Sepal.Length / iris $ Sepal.Width
Agora você pode usar todas as ferramentas r para examinar o resultado. Por exemplo, inspecionar os primeiros cinco elementos dos seus resultados com a cabeça() função:
> Cabeça (x) [1] 1,457143 1,633333 1,468750 1,483871 1,388889 1,384615
Como você pode ver, a realização de cálculos em colunas de um quadro de dados é simples. Basta ter em mente que cada coluna é realmente um vetor, então você simplesmente tem que se lembrar de como realizar operações em vetores.
Como usar com e dentro de melhorar a legibilidade do código
Depois de um curto tempo de escrever declarações de subconjunto em R, você vai se cansar de digitar o sinal de dólar para extrair colunas de um quadro de dados. Felizmente, há uma maneira de reduzir a quantidade de digitação e tornar o seu código muito mais legível, ao mesmo tempo. O truque é usar o com() função. Tente isto:
> y lt; - com (íris, Sepal.Length / Sepal.Width)
o com() função permite-lhe para se referir a colunas dentro de um quadro de dados sem usar explicitamente o sinal de dólar ou mesmo o nome do próprio quadro de dados. Assim, no nosso exemplo, porque você usa com (íris, ...) R sabe avaliar tanto Sepal.Length e Sepal.Width dentro do contexto de íris.
Com sorte, você concorda que este é muito mais fácil de ler e compreender. Imprimindo os valores de sua nova variável y, você pode confirmar que é idêntico ao x no exemplo anterior.
> Cabeça (y) [1] 1,457143 1,633333 1,468750 1,483871 1,388889 1,384615
Você também pode usar o idêntico() função para obter R de dizer se esses valores são, na verdade, o mesmo:
> Idêntica (x, y) [1] VERDADEIRO
Além de com(), o útil dentro() função permite atribuir valores ao campo em seus dados muito facilmente. Digamos que você deseja adicionar à sua proporção calculada de comprimento sepal à largura para o quadro de dados original. Você já está familiarizado com a escrevê-lo como este:
> $ Rácio iris lt; - iris $ Sepal.Length / iris $ Sepal.Width
Agora, usando dentro() ele se transforma em o seguinte:
> iris lt; - (íris dentro, rácio lt; - Sepal.Length / Sepal.Width)
Este trabalha de uma maneira muito semelhante à com(), exceto que você pode usar o operador de atribuição (lt; -) Dentro de sua função. Se você agora olhar para a estrutura da íris, você vai perceber que relação é uma coluna:
> Cabeça (iris $ ratio) [1] 1,457143 1,633333 1,468750 1,483871 1,388889 1,384615