Как обратиться к безымянному объекту в R - PullRequest
1 голос
/ 30 мая 2019

Я хочу выполнить простую задачу в R. Я хочу вызвать метод для объекта, который еще не был назначен ни одной переменной.Примерно так:

a <- c(5, 2, 11, 3)
b <- order(a, decreasing = TRUE)[1:floor(0.1 * length(.))]

Итак, я думаю, я хотел бы найти, что передать функции длины здесь.Я знаю, что могу выполнить это так:

a <- c(5, 2, 11, 3)
b <- order(a, decreasing = TRUE)
b <- b[1:floor(0.1 * length(b))]

Но я хотел сделать это так, как написал выше.

1 Ответ

1 голос
/ 30 мая 2019

Насколько я знаю, нет реализованного способа, который позволил бы достичь более высокой эффективности, чем базовый код

a <- c(5, 2, 11, 3)
b <- order(a, decreasing = TRUE)
b[1:floor(0.1 * length(b))]

Однако можно добиться чего-то похожего на то, что вы просите, используя пакеты magrittr, dplyr или аналогичные, которые позволяют передавать вызовы по трубопроводу. Это будет похоже на

a <- c(5, 2, 11, 3)
c <- a %>% order(., decreasing = TRUE) %>% .[1:floor(0.1 * length(.))]
identical(b[1:floor(0.1 * length(b))],c)
[1] TRUE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...