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.

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

menu