在r中创建算法以查找某些特定数字的总和

时间:2014-06-26 09:39:26

标签: r algorithm

请问我有一个问题,我一直在尝试为此生成一个代码,但我不介意这样做。

所以我需要构建一个图表,值应该是这样的:

1  -  (1*5) + 600
2  -  (2*5) + 600
3  -  (3*5) + 600
.....
.....
.....
15 -  (15*5) + 600
16 -  (16*5) + (600*2)
17 -  (17*5) + (600*2)
.....
.....
31 -  (31*5) + (600*3)
31 -  (32*5) + (600*3)

依此类推,直到n为10000。 所以,从1开始,然后是16,然后是31,46,依此类推+15。为我生成它有点困难。乘以600的部分。

任何帮助都将不胜感激。

study_size<-seq(1,1000,1) 

for (i in study_size ) { 
element<-(n*5) + 600 
   } 

3 个答案:

答案 0 :(得分:0)

在R中,您可以使用rep函数执行此操作,使用参数each

n <- 10000
v1 <- 1:n
v2 <- rep(1:ceiling(n / 15), each = 15)[1:n]
result <- v1 * 5 + 600 * v2

或者,您可以使用floor并将其写为v2

的定义
result2 <- v1 * 5 + 600 * (1 + floor((v1 - 1) / 15))

答案 1 :(得分:0)

您可以在R中使用天花板功能。

例如乘以

for(n in 1:1000){
600 * ceiling(n/15)
}

ceiling函数将导致下一个整数,例如: ceiling(0.01)= 1,ceiling(1)= 1.你会得到你想要的东西

答案 2 :(得分:0)

此外,

 n <- 100
 v1 <- 1:n
 res <- ((v1-1)%/%15+1)*600 +v1*5