Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R语言:为什么我可以通过Sapply函数得到下面这样的结果?_R_Sapply - Fatal编程技术网

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