Почему в R подмножество отрицательного numeri c значения длины 1 приводит к сильно различающимся результатам в зависимости от того, на что вы его подмножество? - PullRequest
0 голосов
/ 05 августа 2020

В R я видел, что если мы подмножество отрицательного числа отрицательными значениями, мы получаем -1. Если каким-то образом поставить 1, мы получим numeri c (0), а если положительные числа являются индексами, мы получим NA. Почему это?

> V <- -1
> V[-c(3,4)]
  [1] -1
> V[-c(1,3,4)]
  numeric(0)
> V[c(1,3,4)]
  [1] -1 NA NA

1 Ответ

1 голос
/ 05 августа 2020

Во втором и третьем случаях фактический индекс присутствовал, и это приводит к удалению этого элемента, что приводит к numeri c (0) для второго случая и в третьем случае с положительным индексом, третий и четвертый не существует и дает NA

c(1, 4, 3)[c(5, 6)] # // it is vector of length 3, so 5th and 6th doesn't exist
#[1] NA NA

c(1, 4, 3)[-c(5, 6)] # // no values in 5th and 6th to remove
#[1] 1 4 3    # // so it returns the original vector

В случае OP

V[-1] # // returns numeric(0) as the first and only element is removed
#numeric(0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...