R语言:为什么我可以通过Sapply函数得到下面这样的结果?
如果查看R语言:为什么我可以通过Sapply函数得到下面这样的结果?,r,sapply,R,Sapply,如果查看sapply()的参数,您将看到给定给它的前三个未命名参数将被处理为输入数据(X)、要应用的函数(FUN)以及要传递给该函数的附加参数(…) 因此,当您在mpg上拆分后的列表上调用sapply(x,“[”,“mpg”)时,实际上是在列表中的每个元素上调用索引操作符[,并将字符串mpg传递给它,例如: > args('sapply') function (X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE) > help('sapp
sapply()
的参数,您将看到给定给它的前三个未命名参数将被处理为输入数据(X
)、要应用的函数(FUN
)以及要传递给该函数的附加参数(…
)
因此,当您在mpg
上拆分后的列表上调用sapply(x,“[”,“mpg”)
时,实际上是在列表中的每个元素上调用索引操作符[
,并将字符串mpg
传递给它,例如:
> args('sapply')
function (X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)
> help('sapply')
...
X: a vector (atomic or list) or an ‘expression’ object. Other
objects (including classed objects) will be coerced by
‘base::as.list’.
FUN: the function to be applied to each element of ‘X’: see
‘Details’. In the case of functions like ‘+’, ‘%*%’, the
function name must be backquoted or quoted.
...: optional arguments to ‘FUN’.
最后,在将结果重新组合到列表中的过程中,名称丢失,因此您将得到:
x$`4`['mpg']
mpg
Datsun 710 22.8
Merc 240D 24.4
Merc 230 22.8
Fiat 128 32.4
Honda Civic 30.4
Toyota Corolla 33.9
Toyota Corona 21.5
Fiat X1-9 27.3
Porsche 914-2 26.0
Lotus Europa 30.4
Volvo 142E 21.4
如果查看
sapply()
的参数,您将看到给定给它的前三个未命名参数将被处理为输入数据(X
)、要应用的函数(FUN
)以及要传递给该函数的附加参数(…
)
因此,当您在mpg
上拆分后的列表上调用sapply(x,“[”,“mpg”)
时,实际上是在列表中的每个元素上调用索引操作符[
,并将字符串mpg
传递给它,例如:
> args('sapply')
function (X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)
> help('sapply')
...
X: a vector (atomic or list) or an ‘expression’ object. Other
objects (including classed objects) will be coerced by
‘base::as.list’.
FUN: the function to be applied to each element of ‘X’: see
‘Details’. In the case of functions like ‘+’, ‘%*%’, the
function name must be backquoted or quoted.
...: optional arguments to ‘FUN’.
最后,在将结果重新组合到列表中的过程中,名称丢失,因此您将得到:
x$`4`['mpg']
mpg
Datsun 710 22.8
Merc 240D 24.4
Merc 230 22.8
Fiat 128 32.4
Honda Civic 30.4
Toyota Corolla 33.9
Toyota Corona 21.5
Fiat X1-9 27.3
Porsche 914-2 26.0
Lotus Europa 30.4
Volvo 142E 21.4
只要看
帮助('[')
。在R中,一切都是函数。[
也是函数。[
也是函数。这是一个很好的解释,说明了它为什么和如何工作:只要看帮助('[')
。在R中,一切都是函数。[
也是函数。这是一个很好的解释,说明了它为什么和如何工作:
$`4.mpg`
[1] 22.8 24.4 22.8 32.4 30.4 33.9 21.5 27.3 26.0 30.4 21.4