R:我可以使用Reduce(或其他高级功能)执行以下操作吗?

时间:2013-10-25 10:53:34

标签: r functional-programming

我有一个函数,它将数据帧和其他参数作为输入,这些参数确定数据帧的某种类型的更改。举个简单的例子:

col_with_ones <- function(df, col_name) {
  df[[col_name]] <- 1
  df
}

有没有办法可以使用Reduce(或任何其他“高级”功能)对数据帧应用多项更改?例如继续上面的示例,我可以使用Reduce执行以下操作:

df <- data.frame(a = runif(10))
for (letter in letters[2:5]) {
  df <- col_with_ones(df, letter)
}

干杯

1 个答案:

答案 0 :(得分:8)

很简单:

Reduce(col_with_ones, letters[2:5], init = df)