如何将第一个参数传递给lapply,以便它表示数据帧的“行”列表

时间:2019-09-24 18:12:48

标签: r

一个名为“ myfun1”的函数将“ my_df”中的一行作为参数。函数计算并返回两列(共有12列)的值。如何使用lapply为my_df的所有行调用“ myfun1”? “ lapply”的第一个参数应表示“行”的列表

2 个答案:

答案 0 :(得分:0)

如果函数将数值作为输入或单个类元素,则可以选择apply

 t(apply(df1, 1, myfun1))

lapply/sapply/vapply等遍历列而不是行。因此,如果我们需要使用lapply,然后遍历行序列,则该单元将是该序列的单个元素(使用data.frame,每个单元都是一列)

lapply(seq_len(nrow(df1)), function(i) myfun1(df1[i,]))

答案 1 :(得分:0)

以下方法可以解决您的问题:

lapply(1:nrow(my_df),function(i){
myfun1(my_df[i,])
}
)

让我知道是否可行。谢谢。