gpt4 book ai didi

r - 如何将值存储在R中for循环内的向量中

转载 作者:行者123 更新时间:2023-12-05 05:09:11 27 4
gpt4 key购买 nike

我刚开始使用 R,但我对以下问题感到非常沮丧:我试图将在 for 循环内完成的某些计算的值存储到我之前定义的向量中。问题是如何索引,因为for循环迭代代码的次数取决于用户的输入,所以变量i不一定非要从1开始,它可以从80开始 for例如,这就是为什么它很困难。

我在其他 StackOverflow 帖子上搜索了很多,但没有找到我正在寻找的答案。这实际上是我第一次提出问题,因为我很固执。我想过创建另一个 for 循环,但不知道它是如何工作的。我确信有一个简单的解决方案,但也许我还不知道确切的功能,因为我还在学习。

my_vector <- vector(mode="numeric")

#Suppose the user's input was 80:84, which gets stored in "number",
#where "number" is just a function argument that encompasses everything,
#and on which the for loop depends therefore

for(i in number) {
#insert the calculation here, let's say it is i+3
result <- i+3
my_vector[i] <- result
}

我希望 my_vector 的长度为 4(在本例中)并包括数字 83、84、85 和 86,但是对于 my_vector,使用 i 的索引从 80 开始,而不是从 1 开始,这就是问题所在。

如何根据迭代将这 4 个结果存储在 my_vector 索引从 1 到 4?

非常感谢。

最佳答案

您可以使用 append() 将元素添加到向量的末尾:

my_vector <- vector(mode="numeric")

number <- 80:84

for(i in number) {
#insert the calculation here, let's say it is i+3
result <- i+3
my_vector <- append(my_vector, result)
}

注意:您不需要为此使用for 循环。由于 R 中的加法运算符是矢量化的,您可以这样做:

my_vector <- number + 3

关于r - 如何将值存储在R中for循环内的向量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57741558/

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