需要帮助创建以下序列:

时间:2016-02-07 20:27:03

标签: r

在R中,我需要创建一个向量b = (1, 1+pi, 1+2pi, 1+3pi,...,1+19pi)。我不确定该怎么做。我一直在尝试使用seq命令(即seq(1, 1+npi n = 1:19),这完全错了!),但不知道使其正常工作的正确语法,因此它永远不会。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:2)

R需要乘法运算符。

b <- 1+ seq(0,19)*pi

在速度可能很重要的情况下稍快一点:

 b <- 1+ seq.int(0,19)*pi

你可以使用等价物:

b <- 1+ 0:19*pi

因为&#34;:&#34;运算符具有非常高的优先级(请参阅?Syntax),它是合理安全的。当你使用减号或加号来解析它作为二元运算符时,要小心你理解优先级(记住忽略空格并且unary-minus的优先级高于单冒号,但二进制减号或加号有优先级较低:

> 1: 5+5
[1]  6  7  8  9 10

答案 1 :(得分:1)

您应该只使用0:19 * pi + 1。使用seq并不是很好:seq(1, 1 + 19 * pi, by = pi)seq(1, 1 + 19 * pi, length = 20)