是什么解决了我的问题:映射,缩小还是递归?

问题描述

我真的需要一些帮助才能在R中编写递归。

我想要的函数根据数据帧中不同行之间的一组比较来更改某种观测值,我将其称为g。这些比较之一取决于同一观察的先前值。

首先假设我要通过以下方式更新数据index中列i,行df的值:

    j <- 1:4
    g <- (df$dom[i] > 0 &
          abs(df$V2009[i] - df$V2009[j]) <= w) |
          df$index[i] == df$index[j] 

    df$index[i] <- ifelse(any(g),which(g)[[1]],df$index[[i]])

问题是,对象w实际上是一个列表:

w = list(0,1,2,df$age[i])

因此,如您所见,我想创建一个函数foo(),该函数可以迭代地更新df$index。它通过遍历w来更改它,并且比较取决于更新的值。

以下是一些数据:

df <- data.frame(dom = c(0,6,6),V2009 = c(9,11,9,11),index = c(1,2),age = c(2,2))

我不确定是否确实需要递归函数,或者是否需要像reducemap这样的函数。

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)