Один из способов - извлечь вторые элементы каждого компонента списка, используя [
, а затем упорядочить их и использовать этот порядок для сортировки events
.
Сначала создайте объект данных, которому вы кажетесьhave:
events <- vector(mode = "list", length = 5)
events[[1]] <- c(3,1.4)
events[[2]] <- c(2,1.8)
events[[3]] <- c(8,5.3)
events[[4]] <- c(6,1.4)
events[[5]] <- c(6,5.4)
Следующим шагом является извлечение вторых элементов каждого из компонентов списка.Мы можем сделать это, используя sapply()
, чтобы применить функцию [
.2
ниже относится ко второму элементу.
> sapply(events, `[`, 2)
[1] 1.4 1.8 5.3 1.4 5.4
Затем мы можем получить порядок этих вторых элементов, используя order()
> ord <- order(sapply(events, `[`, 2))
> ord
[1] 1 4 2 3 5
, которые мы можем затем использовать для упорядочениясписок events
> events[ord]
[[1]]
[1] 3.0 1.4
[[2]]
[1] 6.0 1.4
[[3]]
[1] 2.0 1.8
[[4]]
[1] 8.0 5.3
[[5]]
[1] 6.0 5.4