0

我想用 对变量进行x排序length(x)>12000。当我跑

sort(x)

从 RStudio,r控制台开始显示结果。有没有一种方法可以在不显示排序数据的情况下进行排序?

4

2 回答 2

3

我认为这里有一个更广泛的总体问题,即 R REPL。您会看到您处于 R 解释器中的 Read-Eval-Print 循环中。它的作用是:

  • 读取您给出的输入:sort(x)
  • 评估输入:找到已排序的向量。
  • 打印输出。
  • 循环过去。

因此,当您object在解释器中创建一个 valid 时,无论您是否显式调用,它都会被打印出来print

> x <- 5
> x
[1] 5
> print(x)
[1] 5

唯一没有被打印的是作业,因为从技术上讲,这是一个副作用。因此,第一个声明x <- 5什么也没说。

这是一个有趣的玩具:

> f1 <- function (x) x
> f2 <- function (x) y <- x

> f1(5)
[1] 5

> f2(5) # Nothing

细微的区别是 f1 明确returnsx而 f2 仅使用 x 作为副作用。但是,如果你这样做,identical(f1(5), f2(5))你会得到TRUE

希望这可以帮助。:)

于 2013-07-16T12:09:18.510 回答
1

我了解到我可以简单地将排序后的数据存储在一个新变量中;比如y <- sort(x)。使用invisible(sort(x))也是另一种选择。

于 2013-07-16T12:06:27.797 回答