gpt4 book ai didi

r - apply 函数 - 自定义函数最后返回 NULL

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

x = matrix(1:5)

func = function(x) {
for ( i in 1:x ) {
print(i)
}
}

apply(X=x, 1, func)

输出:

[1] 1
[1] 1
[1] 2
[1] 1
[1] 2
[1] 3
[1] 1
[1] 2
[1] 3
[1] 4
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
NULL

为什么这个函数最后会生成 NULL?

最佳答案

根据定义,R 函数返回要计算的最后一个表达式的结果。在这种情况下,表达式是整个 for循环,返回 NULL .如果不想打印空结果,可以将结果存储在变量中 ( result <- apply(...) ) 或使用 invisible() :

invisible(apply(X=x, 1, func))

我不知道修改函数本身以获得此行为的方法,因为您是通过 apply() 调用函数的.

顺便说一句,为什么不invisible(lapply(x,func))

关于r - apply 函数 - 自定义函数最后返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47897739/

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