gpt4 book ai didi

r - 在教程示例中使用 R 中的应用函数时出错

转载 作者:行者123 更新时间:2023-12-04 15:45:38 25 4
gpt4 key购买 nike

我正在尝试学习如何使用 apply 函数,我遇到了这个教程:http://nsaunders.wordpress.com/2010/08/20/a-brief-introduction-to-apply-in-r/这看起来清晰简洁,但我马上遇到了一个问题。他们给出的第一个例子是:

> # create a matrix of 10 rows x 2 columns
> m <- matrix(c(1:10, 11:20), nrow = 10, ncol = 2)
> # mean of the rows
> apply(m, 1, mean)
[1] 6 7 8 9 10 11 12 13 14 15

这看起来很基本,但我想我会尝试一下。这是我的结果:
> # create a matrix of 10 rows x 2 columns
> m <- matrix(c(1:10, 11:20), nrow = 10, ncol = 2)
> # mean of the rows
> apply(m, 1, mean)
Error in FUN(newX[, i], ...) : unused argument(s) (newX[, i])

不用说,我迷失在这个...

为了提供更多信息,我尝试了教程中提供的另一个示例并得到了正确的结果。本例的不同之处在于,在apply函数中具体说明了该函数:
apply(m, 1:2, function(x) x/2)
[,1] [,2]
[1,] 0.5 5.5
[2,] 1.0 6.0
[3,] 1.5 6.5
[4,] 2.0 7.0
[5,] 2.5 7.5
[6,] 3.0 8.0
[7,] 3.5 8.5
[8,] 4.0 9.0
[9,] 4.5 9.5
[10,] 5.0 10.0

sessionInfo() 输出如下:
R version 2.15.3 (2013-03-01)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats graphics grDevices utils datasets methods base

loaded via a namespace (and not attached):
[1] tools_2.15.3

以及冲突的输出(详细信息 = TRUE)
$.GlobalEnv
[1] "edit" "mean"

$`package:utils`
[1] "edit"

$`package:methods`
[1] "body<-" "kronecker"

$`package:base`
[1] "body<-" "kronecker" "mean"

最佳答案

正如其他人所确定的那样,这可能是因为您在 mean 上有冲突。 .当你调用任何东西(函数、对象)时,R 会遍历搜索路径直到找到它(如果没有找到,R 会相应地提示):

> search()
[1] ".GlobalEnv" "tools:RGUI" "package:stats"
[4] "package:graphics" "package:grDevices" "package:utils"
[7] "package:datasets" "package:methods" "Autoloads"
[10] "package:base"

如果您是 R 的新手,请注意,当您创建一个函数时,除非您另行指定,否则它通常会存在于 ".GlobalEnv" 中。 . R 在继续之前首先查看那里,所以明智地命名你的函数是相当重要的,以免与常用函数冲突(例如 meanplotsummary )。

偶尔从一个干净的 session 开始可能是个好主意。在调试阶段命名变量是相当常见的 xy (为了方便而不是为了提供信息而选择名称......我们毕竟只是人类),这可能会出乎意料地出现问题。当您有一个相当拥挤的工作区时,冲突的可能性会增加,因此 (a) 仔细选择名称和 (b) 重新启动而不恢复是我的建议。

关于r - 在教程示例中使用 R 中的应用函数时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15962111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com