R:对多个列表项调用函数

R:对多个列表项调用函数,r,optimization,for-loop,R,Optimization,For Loop,我对R很陌生,但有计算机科学背景。我目前正在尝试读取一组不同的数据文件,然后对每个文件执行一些分析(相同) 现在,我有一个数据集列表。所以,我的第一个数据集在列表[[1]]中,第二个在列表[[2]]中,等等。所以,我要做的是循环列表的长度,并调用一些函数,将两列中的值从每个唯一的数据集传递到该函数中。然而,我在读一篇关于这方面的文章时发现: foo = seq(1, 100, by=2) foo.squared = NULL foo.squared = foo^2 将平方foo中的所有值。那么

我对R很陌生,但有计算机科学背景。我目前正在尝试读取一组不同的数据文件,然后对每个文件执行一些分析(相同)

现在,我有一个数据集列表。所以,我的第一个数据集在列表[[1]]中,第二个在列表[[2]]中,等等。所以,我要做的是循环列表的长度,并调用一些函数,将两列中的值从每个唯一的数据集传递到该函数中。然而,我在读一篇关于这方面的文章时发现:

foo = seq(1, 100, by=2)
foo.squared = NULL
foo.squared = foo^2
将平方foo中的所有值。那么,有没有办法为我的案子做类似的事情?例如,从列表中的所有数据集中传入值还是什么

为了使这更具体,我有一个名为data_list的数据集列表,每个数据集都与a、b和c列相同。我需要用数据集中的参数a和b调用函数f。除了使用for循环,还有什么方法可以做到这一点吗

请让我知道这是否有意义。很抱歉给你带来任何困惑,就像我说的,我对这门语言很陌生。谢谢你的帮助

使用以下命令:

lapply(data_list, function(x) f(x$a, x$b))

?Lappy
是您需要的,您不需要在代码中使用
foo.squared=NULL
,一般来说-不,您需要循环-使用
for
apply
系列函数之一,但对于特定函数,通常会有一个快捷方式,因此如果您想要好的答案,请具体。