gpt4 book ai didi

R中的复制函数返回NULL

转载 作者:行者123 更新时间:2023-12-04 17:49:47 25 4
gpt4 key购买 nike

我对 R 中复制函数的输出感到困惑,我试图以两种不同的方式使用它,(在我看来)应该给出一个矩阵作为输出!

所以,如果我使用

replicate(5, seq(1,5,1))

我得到一个矩阵 5x5
    [,1] [,2] [,3] [,4] [,5]
[1,] 1 1 1 1 1
[2,] 2 2 2 2 2
[3,] 3 3 3 3 3
[4,] 4 4 4 4 4
[5,] 5 5 5 5 5

..没关系,我明白了......

但是,如果我改为使用:
replicate(5, for(i in 1:5){print(i)})

我得到以下信息:
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[[1]]
NULL

[[2]]
NULL

[[3]]
NULL

[[4]]
NULL

[[5]]
NULL

谁能解释一下为什么会这样?
谢谢 :)

最佳答案

一个 for循环返回 NULL .所以在第二种情况下,replicate函数正在执行 for(i in 1:5){print(i)}五次,这就是为什么您会看到所有这些数字都打印出来的原因。

然后它把返回值放在一个列表中,所以返回值replicate调用是五个列表NULL s,它被打印出来。执行

x<-replicate(5, for(i in 1:5){print(i)})
x

应该澄清。

关于R中的复制函数返回NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19716984/

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