Unique entries

Make vector entries unique with unique

length(iris$Sepal.Length)
## [1] 150
length(unique(iris$Sepal.Length))
## [1] 35

Count occurrences

Count occurrences of entries with table

table(iris$Species)
## 
##     setosa versicolor  virginica 
##         50         50         50

Aggregate data

Compute aggregate statistics with aggregate

aggregate(iris[,1:4], by=list(iris$Species), FUN=mean, na.rm=TRUE)
##      Group.1 Sepal.Length Sepal.Width Petal.Length Petal.Width
## 1     setosa        5.006       3.428        1.462       0.246
## 2 versicolor        5.936       2.770        4.260       1.326
## 3  virginica        6.588       2.974        5.552       2.026

Intersect data

Compute intersect between two vectors with %in%

month.name %in% c("May", "July")
##  [1] FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE

Merge data frames

Join two data frames by common field entries with merge (here row names by.x=0). To obtain only the common rows, change all=TRUE to all=FALSE. To merge on specific columns, refer to them by their position numbers or their column names.

frame1 <- iris[sample(1:length(iris[,1]), 30), ]
frame1[1:2,]
##    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 18          5.1         3.5          1.4         0.3  setosa
## 41          5.0         3.5          1.3         0.3  setosa
dim(frame1)
## [1] 30  5
my_result <- merge(frame1, iris, by.x = 0, by.y = 0, all = TRUE)
dim(my_result)
## [1] 150  11