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