Last chance! 50% off unlimited learning
Sale ends in
!AllDuplicated
determines all those elements of a vector x, which
appear exactly once (frequency 1).AllDuplicated(x)
unique
returns a unique list of all values in x
duplicated
returns an index vector flagging all elements, which appeared more than once (leaving out the first appearance!)
union
(A, B) returns a list with the unique values from A and B
intersect
returns all elements which appear in A and in B
setdiff
(A, B) returns all elements appearing in A but not in B
setequal
(A, B) returns TRUE if A contains exactly the same elements as B
split
(A, A) returns a list with all the tied values in A (see examples)x <- c(1:10, 4:6)
AllDuplicated(x)
x[!AllDuplicated(x)]
# union, intersect and friends...
A <- c(sort(sample(1:20, 9)),NA)
B <- c(sort(sample(3:23, 7)),NA)
# all elements from A and B (no duplicates)
union(A, B)
# all elements appearing in A and in B
intersect(A, B)
# elements in A, but not in B
setdiff(A, B)
# elements in B, but not in A
setdiff(B, A)
# Does A contain the same elements as B?
setequal(A, B)
# Find ties in a vector x
x <- sample(letters[1:10], 20, replace=TRUE)
ties <- split(x, x)
# count tied groups
sum(unlist(lapply(ties, function(x) length(x)>1)))
# length of tied groups
lapply(ties, length)[lapply(ties, length)>1]
# by means of table
tab <- table(x)
tab[tab>1]
# count elements involved in ties
sum(tab>1)
# count tied groups
sum(tab[tab>1])
Run the code above in your browser using DataLab