【发布时间】:2016-05-25 20:50:46
【问题描述】:
我真的不知道从哪里开始,所以我在这里问。我有两个数据框:
set.seed(21)
DF1 <- data.frame(year = c(seq(2000,2012,by=1)),
C1 = runif(13,0,1),
C2 = runif(13,0,1),
C3 = runif(13,0,1),
C4 = runif(13,0,1),
C5 = runif(13,0,1))
DF2 <- data.frame(column = c("C1", "C2", "C3", "C4", "C5"),
start = c(2005,2001,2006,2005,2009),
end = c(2012,2009,2011,2010,2012))
我需要编写一个具有以下步骤的函数:
-
对于 DF2 中的每一行: 取 DF2$column 中的相应列并从 DF1 中取平均值。
例如:在 DF1$C1 中,取 2005 年到 2012 年之间的值的平均值
报告:DF2[1,1]、DF2[1,2]、DF2[1,3]、平均值 1
小于可用数据的值,例如:2002 - 5 = 1997 但在 DF1 中不可用,可以作为 NA。
示例输出:
> DF2.out
column start end m1
1 C1 2005 2012 0.9186834
2 C2 2001 2009 NA
提前感谢您的帮助!
【问题讨论】:
-
这是 3 个问题。我建议您在单独的问题中询问每个步骤,并且每次都给出一个示例输出,这样可以更轻松、更快地为您提供帮助
-
我明白,我真正追求的是把它做成一个完整的部分,我想我明白如何单独写出来,但我假设函数或循环中的实现会有所不同。
-
如果你有所有部分,那么你可以修改你的问题并把你有的示例脚本,并要求人们帮助你把它作为解决问题的函数或替代方法
标签: r dataframe mean data-manipulation