Как увидеть, свободен ли вектор в 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().