Subsetting
Basics
Partial Matching
> x <- list(aardvark = 1:5)
> x$a
[1] 1 2 3 4 5
> x[["a"]]
NULL
> x[["a", exact = FALSE]]
[1] 1 2 3 4 5Examples
Last updated
> x <- list(aardvark = 1:5)
> x$a
[1] 1 2 3 4 5
> x[["a"]]
NULL
> x[["a", exact = FALSE]]
[1] 1 2 3 4 5Last updated
data <- data.frame(
"column1"=sample(1:5),
"column2"=sample(6:10),
"column3"=sample(11:15)
)
data <- data[sample(1:5),]
data$column2[c(1,3)] = NA> data
column1 column2 column3
5 5 NA 11
2 4 9 15
4 1 NA 12
3 2 6 13
1 3 7 14> data[,1]
[1] 5 4 1 2 3> data[,"column2"]
[1] NA 9 NA 6 7> data[1:2,"column2"]
[1] NA 9> data[(data$column1 >= 5 & data$column3 > 10),]
column1 column2 column3
5 5 NA 11> data[(data$column1 >= 5 | data$column3 > 10),]
column1 column2 column3
5 5 NA 11
2 4 9 15
4 1 NA 12
3 2 6 13
1 3 7 14> data[which(data$column2 > 3),]
column1 column2 column3
2 4 9 15
3 2 6 13
1 3 7 14> data[(data$column2 > 3),]
column1 column2 column3
NA NA NA NA
2 4 9 15
NA.1 NA NA NA
3 2 6 13
1 3 7 14sort(data$column1, decreasing=FALSE)
[1] 1 2 3 4 5> sort(data$column2, decreasing=FALSE, na.last=TRUE)
[1] 6 7 9 NA NA> data[order(data$column1),]
column1 column2 column3
4 1 NA 12
3 2 6 13
1 3 7 14
2 4 9 15
5 5 NA 11> library(plyr)
> arrange(data, column1)
column1 column2 column3
1 1 NA 12
2 2 6 13
3 3 7 14
4 4 9 15
5 5 NA 11
> arrange(data, desc(column1))
column1 column2 column3
1 5 NA 11
2 4 9 15
3 3 7 14
4 2 6 13
5 1 NA 12data$column4 <- rnorm(5)data <- cbind(data, rnorm(5))