Когда вы вводите в скобки нотацию, способ, которым R интерпретирует вашу команду, будет отличаться в зависимости от того, передаете ли вы значение типа character
или типа numeric
. В первом примере вы передаете 2 значения типа character
lakes_matrix["70","60"]
. Возвращает значение ячейки в строке с именем "70"
и столбца . названный "60"
. Для этого он ищет в rownames(lakes_matrix)
и colnames(lakes_matrix)
совпадение
Во втором примере, однако, ваш вектор lakes
имеет значения типа numeric
(вы можете видеть это, поскольку они печатают без кавычки вокруг них). Таким образом, эти 2 утверждения идентичны
lakes_matrix[lakes[k],lakes2[k]]
lakes_matrix[70, 60]
Когда вы предоставляете числа, R подмножества по индексу . Таким образом, он пытается вернуть значение 70-й строки и 60-го столбца. Поскольку lakes_matrix
имеет только 8 строк и 8 столбцов, это значение не существует и возвращает ошибку subscript out of bounds
.
Вы можете использовать as.character
для изменения значений lakes
на тип character
.
Плавание иллюстраций.
Таким образом, TEX перемещает их для размещения его наборных потребностей. У Вас есть опция определения, какие типы мест Вы хотите, чтобы TEX попытался поместить их использование:
\begin{figure}[htpb]
...
\end{figure}
где опции означают:
h -- here
t -- top
b -- bottom
p -- page (on a page-o-floats)
H -- Absolutely right here (but requires the `float` package)
Используя !
в опциях скажет TEX очень стараться поместить его около вещей, с которыми это смежно в исходном файле. Расположение по умолчанию tbp
, таким образом, "вот" даже не опции, если Вы не просите ее. Также обратите внимание, что упорядочивание опций не важно, таким образом, [p!bh]
даст тот же результат как [!hbp]
.
Так попытка \begin{figure}[h!]
(или \begin{figure}[H]
если Вы уже сделали \usepackage{float}
)
Те же опции доступны для таблиц и любых других плаваний, которые Вы определяете.