Como usar as funções with() e inside() em r


As funções with() e inside() em R podem ser usadas para avaliar uma expressão baseada em um quadro de dados.

Essas funções usam a seguinte sintaxe:

 with(data, expression)
within(data, expression)

Ouro:

  • dados: o nome do bloco de dados
  • expressão: a expressão a ser avaliada

Aqui está a diferença entre as duas funções:

  • with() avalia a expressão sem modificar o quadro de dados original.
  • inside() avalia a expressão e cria uma cópia do quadro de dados original.

Os exemplos a seguir mostram como usar cada função na prática com o seguinte quadro de dados:

 #create data frame
df <- data. frame (x=c(3, 5, 5, 7, 6, 10),
                 y=c(2, 2, 0, 5, 9, 4))

#view data frame
df

   xy
1 3 2
2 5 2
3 5 0
4 7 5
5 6 9
6 10 4

Exemplo 1: usando a função with()

Podemos usar a seguinte função with() para multiplicar os valores entre as duas colunas do quadro de dados:

 #multiply values between x and y
with(df, x*y)

[1] 6 10 0 35 54 40

Os valores na coluna x e na coluna y no quadro de dados são multiplicados e o resultado é um vetor de comprimento 6.

Exemplo 2: usando a função inside()

Podemos usar a seguinte função inside() para multiplicar os valores entre as duas colunas no quadro de dados e atribuir os resultados a uma nova coluna no quadro de dados:

 #multiply values in x and y and assign results to new column z
within(df, z <- x*y)

   X Y Z
1 3 2 6
2 5 2 10
3 5 0 0
4 7 5 35
5 6 9 54
6 10 4 40

Os resultados da multiplicação agora são armazenados em uma nova coluna chamada z .

É importante observar que a função inside() cria uma cópia do quadro de dados original, mas na verdade não modifica o quadro de dados original:

 #view original data frame
df

   xy
1 3 2
2 5 2
3 5 0
4 7 5
5 6 9
6 10 4

Para armazenar permanentemente os resultados da multiplicação, você deve atribuir os resultados a um novo quadro de dados:

 #multiply values in x and y and assign results to new data frame
df_new <- within(df, z <- x*y)

#view new data frame
df_new

   X Y Z
1 3 2 6
2 5 2 10
3 5 0 0
4 7 5 35
5 6 9 54
6 10 4 40

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:

Como adicionar uma coluna a um quadro de dados em R
Como adicionar uma coluna vazia a um quadro de dados em R
Como classificar um quadro de dados por coluna em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *