因此,我有一个值在一定范围内的列(请参见下文)。我已经使用aggregate()获得了每个范围的平均值。但是,当我尝试为每个值应用这个平均值时,我得到一个错误。例如,对于是1900-1910范围内的每个值,我想我的平均该范围出现在该行中,在我的“平均”列为范围内的每个值应用一个数字
我能得到什么:
Range Avg
1900-1910 15.33
1911-1920 6.67
....
1941-1950 22.00
旺旺:
Value Year Range Avg
12 1906 1900-1910 15.33
15 1909 1900-1910 15.33
7 1911 1911-1920 6.67
22 1950 1941-1950 22.00
4 1917 1911-1920 6.67
9 1917 1911-1920 6.67
19 1902 1900-1910 15.33
我能够得到平均每个范围,但我无法弄清楚如何为应用范围的平均到每个特定的值。我唯一能想到的就是一堆嵌套的ifelse()语句,但这似乎太乏味。例如:
d$Avg<-ifelse(Range=="1900-1910",15.33,
ifelse(Range=="1911-1920",6.67,
...etc))
有没有一种方法,我可以加速这一进程,而不是使用嵌套ifelse语句一堆的?