Насколько я понимаю, вы можете выбирать из данных двумя способами. Если вы используете []
и не используете запятую, тогда это выбор в стиле списка. Это работает так, поскольку в списке построен фрейм данных, и вы действительно просто извлекаете компоненты верхнего уровня.
И, если вы добавите запятую, тогда вы делаете выбор стиля матрицы и получаете этот синтаксис [rows, columns]
.
Если это правда, то почему я могу выбирать из массива данных с массивом?
df <- as.data.frame(state.x77)
df2 <- cbind(df, rep(NA, nrow(df)))
df2[is.na(df2)]
is.na()
- это массив с dim
атрибутами для 50 строк и 9 столбцов.
Откуда он знает, что нужно выбирать по каждому значению вместо того, чтобы делать типичный выбор среди столбцов?