Description Usage Arguments Details Value Examples
Return object from a ref. `!` can also be used to dereference an object.
See ref for more details.
1 2 3 4 | deref(x)
## S3 method for class 'ref'
!x
|
x |
reference object |
deref is used to obtain the object originally referenced from ref.
NULL is returned if the object is no longer available. ref objects are
automatically dereferenced when using generic functions such as arithmetic operators.
Dereferencing a non-ref object just returns the object.
R Obj or NULL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | # Create a vectors of random numbers
x <- rnorm(10)
y <- runif(10)
# Create a reference to the random numbers
ref_to_x <- ref(x)
ref_to_y <- ref(y)
# Place references in a list
list_of_refs <- list(x = ref_to_x, y = ref_to_y)
# Check sum of refs 'x' and 'y'
# Note that both `+` and `sum` automatically deref
sum1 <- sum(list_of_refs$x + list_of_refs$y)
# Update 'x' and calculate new sum
x <- rnorm(10)
sum2 <- sum(list_of_refs$x + list_of_refs$y)
# check diff in sums to see if 'list_of_refs' updated
sum2 - sum1
# Obtain a reference to an expression
ref_to_part <- ref(x[2:5] + 3)
deref(ref_to_part)
# Another expression reference
refs_to_list <- ref(list(x, y))
deref(refs_to_list)
x <- "hello"
y <- "world"
deref(refs_to_list)
# Alternative, `!` can be used for dereferencing
!refs_to_list
identical(!refs_to_list, deref(refs_to_list))
# Referencing data.frame columns
dat <- data.frame(first = 1:4, second = 5:8)
ref_to_first <- ref(dat$first)
mean1 <- mean(!ref_to_first)
dat$first <- dat$first * 4
mean2 <- mean(!ref_to_first)
mean2 == 4*mean1
# Many operations automatically dereference
ref_to_first * 5
ref_to_x == ref_to_y
cos(ref_to_first)
max(ref_to_first)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.