【发布时间】:2014-06-30 01:14:06
【问题描述】:
我有一个包含两列的数据框:
id score
1 0.5
1 0.7
1 0.8
2 0.7
2 0.8
2 0.9
我想通过迭代“score”的行,应用两个函数之一(“function1”或“function2”)来生成一个新列(“new”),条件是“id”是不同的还是与最后一行 id 值相同。这部分我可以做,我的问题是我想让function2引用function1生成的值。比如:
function1 <- function(score) {new <- score*10 return(new)}
function2 <- function(score) {new <- score*new[-1] return(new)}
id score new
1 0.5 5
1 0.7 3.5
1 0.8 2.8
2 0.7 7
2 0.8 5.6
2 0.9 5.04
我知道 apply() 不能做这种向后引用,但我一辈子都想不出如何用循环来做。任何建议都会很棒,因为我现在正在拔头发!
【问题讨论】:
标签: r loops dynamic recursion apply