Это очень хороший вопрос!
Вы действительно можете использовать больше индексов и аргументов.
Фреймы данных
Когда вы ссылаетесь на строки и столбцы фрейма данных двойные скобки отбросят возможные имена и позволят вам выбрать только один элемент.
Так, например, для фреймов данных вы можете использовать оба:
mtcars[2, 3]
mtcars[[2, 3]]
но:
# OK
mtcars[2:3, 3:4]
# disp hp
# Mazda RX4 Wag 160 110
# Datsun 710 108 93
# NOT WORKING
mtcars[[2:3, 3:4]]
# Error in col[[i, exact = exact]] :
# attempt to select more than one element in vectorIndex
Существуют дополнительные аргументы, которые можно передать в двойных квадратных скобках, см. документацию или введите ?"[["
в консоли R.
Списки
Для списков вы может использовать только один индекс для ссылки на элемент списка.
data <- as.list(mtcars)
data[[1]]
# or:
data[["mpg"]]
data$mpg
(См. документацию или введите ?"[["
в консоли R.)
igraph
Однако с USairports
вы используете специальный класс igraph
, который является типом списка и работает немного иначе (вы можете использовать больше индексов и, например, атрибут edges
указан c для igraph).
Итак, ваш пример:
USairports[["BOS", "JFK", edges = TRUE]]
- это получить идентификаторы ребер между двумя вершинами ces (здесь от BOS
до JFK
).
См. igraph документацию .