Open In App

Evaluating an Expression in R Programming – with() and within() Function

Last Updated : 01 Jun, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

with() function in R programming evaluates the expression in an environment constructed locally by the data and does not create a copy of the data.

Syntax: with(data, expr)

Parameters:

data represents dataset to be used
expr represents formula or expression to be evaluated

Example 1:




# Creating list
df <- list("x1" = c(1, 2, 3),
           "x2" = c(4, 5, 6),
           "x3" = c(7, 8, 9))
  
with(df, x1 + x2 + x3)


Output:

[1] 12 15 18

Example 2:




# Using mtcars dataset
with(mtcars, mean(mpg + cyl + disp))


Output:

[1] 257

within() Function

within() function in R programming evaluates the expression in a locally created environment and modifies the copy of the data unlike with() function.

Syntax: within(data, expr)

Parameters:
data represents dataset to be used
expr represents formula or expression to be evaluated

Example 1:




# Creating a data frame
df <- list("x1" = c(1, 2, 3),
           "x2" = c(4, 5, 6))
  
within(df, x3 <- x1 + x2)


Output:

$x1
[1] 1 2 3

$x2
[1] 4 5 6

$x3
[1] 5 7 9

Example 2:




# Using airquality dataset
aq <- within(airquality, {
    newOzone <- log(Ozone)
    cTemp <- round((Temp - 32) * 5/9, 1) # Fahrenheit to Celsius
    })
  
head(aq)


Output:

   Ozone Solar.R Wind Temp Month Day cTemp newOzone
1    41     190  7.4   67     5   1  19.4 3.713572
2    36     118  8.0   72     5   2  22.2 3.583519
3    12     149 12.6   74     5   3  23.3 2.484907
4    18     313 11.5   62     5   4  16.7 2.890372
5    NA      NA 14.3   56     5   5  13.3       NA
6    28      NA 14.9   66     5   6  18.9 3.332205


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads