R语言 评估一个表达式 – with()和within()函数
R编程中的 with() 函数在由数据本地构建的环境中评估表达式,而不创建数据的副本。
语法: with(data, expr)
参数
data 代表要使用的数据集
expr 代表要评估的公式或表达式
例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)
输出
[1] 12 15 18
例2 :
# Using mtcars dataset
with(mtcars, mean(mpg + cyl + disp))
输出
[1] 257
within()函数
R编程中的 within() 函数在本地创建的环境中评估表达式,并修改数据的副本,与with()函数不同。
语法: within(data, expr)
参数:
data 代表要使用的数据集
expr 代表要评估的公式或表达式
例1 :
# Creating a data frame
df <- list("x1" = c(1, 2, 3),
"x2" = c(4, 5, 6))
within(df, x3 <- x1 + x2)
输出
$x1
[1] 1 2 3
$x2
[1] 4 5 6
$x3
[1] 5 7 9
例2 :
# Using airquality dataset
aq <- within(airquality, {
newOzone <- log(Ozone)
cTemp <- round((Temp - 32) * 5/9, 1) # Fahrenheit to Celsius
})
head(aq)
输出
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