Operators to abbreviate use of "with" and "within"
within-operators.Rd
The operators %$%
and %$$%
provide
abbrevitions for calls to with()
and within()
respectively.
The function Within()
is a variant of with()
were
the resulting data frame contains any newly created variables in the
order in which they are created (and not in the reverse order).
Usage
data %$% expr
data %$$% expr
Within(data,expr,...)
# S3 method for class 'data.frame'
Within(data,expr,...)
Examples
df <- data.frame(a = 1:7,
b = 7:1)
df
#> a b
#> 1 1 7
#> 2 2 6
#> 3 3 5
#> 4 4 4
#> 5 5 3
#> 6 6 2
#> 7 7 1
df <- within(df,{
ab <- a + b
a2b2 <- a^2 + b^2
})
df
#> a b a2b2 ab
#> 1 1 7 50 8
#> 2 2 6 40 8
#> 3 3 5 34 8
#> 4 4 4 32 8
#> 5 5 3 34 8
#> 6 6 2 40 8
#> 7 7 1 50 8
df <- data.frame(a = 1:7,
b = 7:1)
df <- Within(df,{
ab <- a + b
a2b2 <- a^2 + b^2
})
df
#> a b ab a2b2
#> 1 1 7 8 50
#> 2 2 6 8 40
#> 3 3 5 8 34
#> 4 4 4 8 32
#> 5 5 3 8 34
#> 6 6 2 8 40
#> 7 7 1 8 50
df <- data.frame(a = 1:7,
b = 7:1)
df
#> a b
#> 1 1 7
#> 2 2 6
#> 3 3 5
#> 4 4 4
#> 5 5 3
#> 6 6 2
#> 7 7 1
ds <- as.data.set(df)
ds
#>
#> Data set with 7 observations and 2 variables
#>
#> a b
#> 1 1 7
#> 2 2 6
#> 3 3 5
#> 4 4 4
#> 5 5 3
#> 6 6 2
#> 7 7 1
df %$$% {
ab <- a + b
a2b2 <- a^2 + b^2
}
df
#> a b ab a2b2
#> 1 1 7 8 50
#> 2 2 6 8 40
#> 3 3 5 8 34
#> 4 4 4 8 32
#> 5 5 3 8 34
#> 6 6 2 8 40
#> 7 7 1 8 50
ds %$$% {
ab <- a + b
a2b2 <- a^2 + b^2
}
#> Note: method with signature ‘numeric.item#numeric’ chosen for function ‘+’,
#> target signature ‘integer.item#integer.item’.
#> "numeric#numeric.item" would also be valid
ds
#>
#> Data set with 7 observations and 4 variables
#>
#> a b ab a2b2
#> 1 1 7 8 50
#> 2 2 6 8 40
#> 3 3 5 8 34
#> 4 4 4 8 32
#> 5 5 3 8 34
#> 6 6 2 8 40
#> 7 7 1 8 50
df %$% c(a.ssq = sum(a^2),
b.ssq = sum(b^2))
#> a.ssq b.ssq
#> 140 140