Как увидеть, свободен ли вектор в R
Прежде всего, мне нужно инициализировать пустой вектор в R,
Выполняется ли следующее?
vec <- vector()
И как я могу оценить, является ли vec пустым или нет?
Ответы
Ответ 1
Кажется, что использование length (vector_object) работает:
vector.is.empty <- function(x) return(length(x) ==0 )
> v <- vector()
> class(v)
[1] "logical"
> length(v)
[1] 0
> vector.is.empty(v)
[1] TRUE
>
> vector.is.empty(c())
[1] TRUE
> vector.is.empty(c(1)[-1])
[1] TRUE
Пожалуйста, сообщите, не существует ли какого-либо дела.
Ответ 2
В файле справки vector
:
vector
создает вектор заданной длины и режима.
...
Использование
vector(mode = "logical", length = 0)
Если вы запустите код, vec <- vector()
и оцените его, vec
, верните logical(0)
. Логический вектор размера 0. Это имеет смысл, так как аргументы по умолчанию для функции vector
vector(mode="logical", length=0)
.
Если вы проверите length(vec)
, мы знаем, что длина нашего вектора также равна 0, что означает, что наш вектор vec
пуст.
Если вы хотите создать другие типы векторов, которые не относятся к типу logical
, вы также можете прочитать файл справки vector
с помощью ?vector
. Вы обнаружите, что vector(mode='character')
создаст пустой вектор символов, vector(mode='integer')
сделает пустой вектор целых чисел и т.д.
Вы также можете создавать пустые векторы, вызывая имена других "атомных режимов", как их называет файл справки:
character()
, integer()
, numeric()
/double()
, complex()
, character()
и raw()
.