我面临的问题的类比是蝴蝶的成长阶段。让我们说从受孕到死亡有4个阶段。我有一个数组定义了过渡发生的日子,我有一个方程式告诉我幼虫/蝴蝶的大小/每个阶段的每个阶段(类比不精确,但足够接近)
即:
days <- c(5,20,50,100)
#We have transitions on day 5, 20, 50, 100
#Using a linear size=m*day+c, we calculate the size of the creature
base_size <- c(1,10,11,20)
#This defines the c in the equation above
daily_growth_rate <- c(0.01,0.03,0.03,0.05)
#This defines the gradient, m
我还有(多余的,无可否认的)阶段之间相对天数的信息:
rel_days <- c(0,15,30,50)
#This is just t_n-t_(n-1) from the days array
我想要做的是填充所有相关日期的数组(这很容易):
output_days <- c(days[1]:days[length(days)])
但是,我需要根据上面的等式填充每一天的大小
我设想(目前)看起来像最终代码的方式是这样的:
size <- daily_base_size+relative_day*growth_rate
但我不太确定如何填充这些变量。
例如,相对天数如下:
relative_day <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,1,2,3......30,1,2....50)
答案 0 :(得分:1)
我们可以使用sequence
来创建relative_day
relative_day <- sequence(rel_days)
然后在复制&#39; base_size&#39;之后在等式中使用它。和&#39; daily_growth_rate&#39;。
rep(base_size, rel_days)+relative_day*rep(daily_growth_rate, rel_days)