我尝试使用一个数据集中的值,来创建另一个数据集进行模型预测。
我的数据集有两个站点(A和B),不同年份的数据,每个站点的范围不同,以及大量的个人(站点和年份的比率也不同)。
我需要最终的数据集,以包括所有独特的组合网站,最小最大年为该网站,和质量值从最小到最大的增量为0.1。例如,网站A的数据在5年和质量范围从2-5,所以应该有205个组合(1个网站x 5年x 31质量值)
# example dataset
df <- data.frame(site = c(rep("A", 20), # 20 obs for site A
rep("B", 30)), # 30 obs for site B
year = c(sample(1:5, 20, replace = TRUE), # 5 years for site A
sample(c(1:4, 6:7), 30, replace = TRUE)), # 6 years for site B, resulting range should span 1-7 (including 5)
mass = c(sample(seq(2, 5, 0.1), 20, replace = TRUE), # different range for A than B
sample(seq(1, 6, 0.1), 30, replace = TRUE))) # different range for A than B
# I've tried using complete, but it doesn't recognize mass
df %>% complete(year, nesting(site),
fill = list(seq(min(mass), max(mass), 0.1)))
Error in seq(min(mass), max(mass), 0.1) : object 'mass' not found
# I've also tried reframe, but it doesn't cover the full range of masses
df %>% reframe(year = min(year):max(year), .by = c(site, mass))
字符串
1条答案
按热度按时间jvidinwx1#
你可以从
seq
元素沿着range
s来expand.grid
s。字符串
型