我想对变量x
和length(x)>12000
进行排序。当我运行对变量的值进行排序而不显示数据
sort(x)
来自RStudio,r
控制台开始显示结果。有没有一种方法可以在不显示排序数据的情况下进行排序?
我想对变量x
和length(x)>12000
进行排序。当我运行对变量的值进行排序而不显示数据
sort(x)
来自RStudio,r
控制台开始显示结果。有没有一种方法可以在不显示排序数据的情况下进行排序?
我了解到,我可以简单地将排序数据存储在一个新变量中;如y <- sort(x)
。使用invisible(sort(x))
也是另一种选择。
除了后者没有做任何有用的事情,因为'sort(x)'不会修改'x'。 –
我认为这里有一个更广泛的问题,那就是R REPL。你看到你在R解释器中的Read-Eval-Print Loop中。它所做的是:
sort(x)
因此,当您在解释器中创建有效的object
时,无论您是否明确地调用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明确return
小号x
而F2只用x的副作用。但是,如果您要做identical(f1(5), f2(5))
,您将获得TRUE
。
希望这会有所帮助。 :)
这不完全正确。 'f2'返回最后一条语句的值,但是这样做是不可见的。试试这个:'f2(5); .Last.value'来查看该值是否可用。 –
我同意。这就是为什么我在那里加上'identical(f1(5),f2(5))'的原因。 – asb
为什么不把它作为一个新的变量存储? 'y < - sort(x)'? – A5C1D2H2I1M1N2O1R2T1
你可以使用'invisible(sort(x))',但我不明白为什么,除非你的函数通过引用更新值。 – Arun
@AnandaMahto我是新手,我现在明白了。 – Duna