gpt4 book ai didi

r - 'NULL' 在处理循环中的目的是什么?

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

sqr = seq(1, 100, by=2)
sqr.squared = NULL
for (n in 1:50)
{
sqr.squared[n] = sqr[n]^2
}

我遇到了上面的循环,对于初学者来说这很简单。为了进一步理解 r 第二行的确切目的是什么?对于我的研究,我收集到它与重置矢量有关。如果有人可以详细说明,将不胜感激。

最佳答案

sqr.squared <- NULL

是在通过循环运行它之前初始化空向量 sqr.squared 的多种方法之一。通常,当结果向量的长度已知时,分配向量的长度是更好的做法。所以在这里,

sqr.squared <- vector("integer", 50)

会更好。而且速度也更快。这样您就不会在循环中构建新向量。但是由于 ^ 是矢量化的,你也可以简单地做

sqr[1:50] ^ 2 

然后一起放弃循环。

关于r - 'NULL' 在处理循环中的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31898217/

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