Как создать числовой вектор нулевой длины в R


Ответы:


112

Если вы прочтете справку для vector(or numericor logicalor characteror integeror double, 'raw' or complexetc), вы увидите, что все они имеют length(или length.outаргумент, который по умолчанию равен 0

Следовательно

numeric()
logical()
character()
integer()
double()
raw()
complex() 
vector('numeric')
vector('character')
vector('integer')
vector('double')
vector('raw')
vector('complex')

Все возвращают векторы длины 0 соответствующих атомарных режимов.

# the following will also return objects with length 0
list()
expression()
vector('list')
vector('expression')

1
Прошу прощения за голосование против; это было совершенно случайно, и я только заметил, что это произошло. Это не позволит мне измениться. Сожалею.
Стюарт Р. Джефферис

1
А если пустой вектор предназначен для хранения дат, что бы вы использовали?
Zelbinian

@Zelbinian Это любопытство. Чего вы этим пытаетесь достичь?
BroVic


4

Предположим, вы хотите создать вектор x, длина которого равна нулю. Пусть теперь v - любой вектор.

> v<-c(4,7,8)
> v
[1] 4 7 8
> x<-v[0]
> length(x)
[1] 0

1
Я не знаю, что там происходит. И снова мой ответ - уценка. Зачем??? Я хочу знать объяснение. Кто-нибудь может мне ответить, почему мой ответ снижается?
Md. Sahidul Islam

Вы берете длину векторного элемента.
upInCloud

2
Длина - это доказанное, что числовой вектор (здесь x) имеет вектор нулевой длины. А вектор x создается из любого другого вектора. Итак, x - искомый вектор нулевой длины. Также вы должны четко проверить заголовок проблемы? @ShaaradDalvi
Md. Sahidul Islam

3

Это не очень красивый ответ, но я использую его для создания векторов нулевой длины:

0[-1]     # numeric
""[-1]    # character
TRUE[-1]  # logical
0L[-1]    # integer

Литерал - это вектор длины 1, который [-1]удаляет первый элемент ( единственный элемент в данном случае) из вектора, оставляя вектор с нулевыми элементами.

В качестве бонуса, если вы хотите сингл NAсоответствующего типа:

0[NA]     # numeric
""[NA]    # character
TRUE[NA]  # logical
0L[NA]    # integer
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.