Подмножество в R (Индекс Пояснение) - PullRequest
0 голосов
/ 01 октября 2019
a <- c("a", "b", "c", "d", "e")
u <- a > "a"
a[u]

Код дает мне вывод:"b" "c" "d" "e".

Что означает [u]? Имеет ли вектор a новый индекс u типа вектора?

Ответы [ 2 ]

2 голосов
/ 01 октября 2019

Вы можете понять это самостоятельно, посмотрев содержимое вектора u:

u <- a > "a"
u

[1] FALSE  TRUE  TRUE  TRUE  TRUE

Когда вы затем подмножество вектор a, используя этот логический вектор u, вы говорите R выводить вектор, состоящий только из элементов, для которых входной индекс равен TRUE. Это оставляет вам просто:

[1] "b" "c" "d" "e"

Чтобы быть более точным:

"a"  "b"  "c"  "d"  "e"
 F    T    T    T    T
^^    |______________|
drop    keep the rest
2 голосов
/ 01 октября 2019

u - это логический вектор, который используется для подмножества a.

u
#[1] FALSE  TRUE  TRUE  TRUE  TRUE

Поскольку 1-й элемент равен FALSE, мы выбираем все TRUE элементы из a, выполняя a[u]

a[u]
#[1] "b" "c" "d" "e"

Это будет более понятно с другим примером,Рассмотрим

a <- 11:15
u <- c(FALSE, TRUE, TRUE, FALSE, TRUE)
a[u]
#[1] 12 13 15

Таким образом, все элементы в a, где u равно TRUE, выбраны, т.е. 12, 13 и 15.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...