【发布时间】:2021-06-19 18:25:58
【问题描述】:
我的foo() 函数的input 值(a 和b)来自expand.grid() 调用。
我想知道如何循环 input data.frame 的行,以便在每一轮中,input data.frame 的一行中的一个 a 和 b 在 foo() 中使用一个名为list?
foo <- function(a, b) {
b-a
}
input <- rev(expand.grid(b=1:4,a=1:4))
# a b
#1 1 1 # at round one, `a = 1`, `b = 1`
#2 1 2
#3 1 3
#4 1 4 # at round four, `a = 1`, `b = 4`
#. . .
#. . .
#. . .
foo(a=, b=)
# Desired output:
[[1]] `a=1, b=1`
[1] 0
[[2]] `a=1, b=2`
[1] 1
# .
# .
# .
【问题讨论】:
-
你不需要这样做,你会说
foo(input$a, input$b),R 会自动对所有行执行此操作,并返回与 a 和 b 长度相同的向量。 -
@Elin,我想知道我是否可以获得
list输出?
标签: r function dataframe loops lapply