请问我有一个问题,我一直在尝试为此生成一个代码,但我不介意这样做。
所以我需要构建一个图表,值应该是这样的:
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
}
答案 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