gpt4 book ai didi

r - 为什么 for 循环中的这个表达式在 R 中表现得很奇怪?

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

我正在运行一个 for 循环,其中 i 从 3 到 21。我正在使用其索引打印“i”的 5 个值:

for (i in 3:21 )
{
print(i)
print(i-2 : i+2)

}

实际输出为:

[1] 3
[1] 3 2
[1] 4
[1] 4 3 2
[1] 5
[1] 5 4 3 2
[1] 6
[1] 6 5 4 3 2
[1] 7
[1] 7 6 5 4 3 2
[1] 8
[1] 8 7 6 5 4 3 2 and etc

但我期待:

3
1 2 3 4 5
4
4 5 6 7 8
5
5 6 7 8 9
6
6 7 8 9 10 and etc

我想我没有正确使用索引..我哪里出错了??

最佳答案

在范围内的术语周围使用方括号:

for (i in 3:21) {
print(i)
print((i-2) : (i+2))
}

注意这个:

> 1 - 2 : 1 + 2
[1] 1 2

这实际上是一样的:

> 1 - c(2, 1) + 2
[1] 1 2

在向量伪符号中:

[1 , 1] - [2, 1] + [2, 2]
[-1, 0] + [2, 2]
[1, 2]

关于r - 为什么 for 循环中的这个表达式在 R 中表现得很奇怪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29665781/

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