如何在R中引用未命名对象

时间:2019-05-30 08:20:51

标签: r

我想在R中执行一个简单的任务。我想在尚未分配给任何变量的对象上调用方法。 像这样:

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

所以我想我想找到在这里传递给length函数的内容。我知道我可以这样执行:

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

但是我想像上面写的那样。

1 个答案:

答案 0 :(得分:1)

据我所知,没有一种实现方法可以实现比基本代码更高的效率

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

但是,使用magrittrdplyr或类似的程序包(可以进行管道调用)可以实现与您所要求的功能类似的功能。这看起来类似于

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