R中的sapply():为什么返回输入?

m0n*_*awk 0 r

为什么这段代码:

sapply(c(1, 3, 4, 0), print)
Run Code Online (Sandbox Code Playgroud)

返回:

[1] 1
[1] 3
[1] 4
[1] 0
[1] 1 3 4 0
Run Code Online (Sandbox Code Playgroud)

为什么它也会返回输入?

Dav*_*vid 6

sapply()返回打印值的矢量,但首先打印每个打印值.如果你看一下这个例子,这可能会更清楚:

> x <- sapply(1:4,print)
[1] 1
[1] 2
[1] 3
[1] 4
> x
[1] 1 2 3 4
> y <- sapply(1:4,function(x) x)
> y
[1] 1 2 3 4
> identical(x,y)
[1] TRUE
Run Code Online (Sandbox Code Playgroud)

  • 这篇文章可能有助于确定应用功能的作用:http://stackoverflow.com/q/3505701/2167315我的例子只是说明你看到每个值单独打印,因为它是`print的副作用( )`功能. (2认同)