如何使用配方?

时间:2011-08-10 10:27:59

标签: list r lapply

我有一个lapply函数的问题,我没有发现之前发布的任何匹配问题。 我需要对所有列表元素应用置换测试,但是我无法正确设置lapply。

我正在尝试这个

testperm <- lapply(test-list, FUN=perm.test, formula=(cover ~ group))

函数perm.test来自包'exactRankTests' cover是依赖(数字)变量,group是一个因子。

非常感谢任何有关如何应用此类功能的提示。 延

2 个答案:

答案 0 :(得分:9)

使用公式时,通常还需要为data参数提供值,以便函数知道要使用哪些数据。您的数据集将是列表元素,因此您需要使用匿名函数将它们提供给perm.test。

在这种情况下,请尝试:

testperm <- lapply(test.list, FUN=function(x) perm.test(formula=(cover ~ group),data=x)) 

答案 1 :(得分:2)

这是您需要查看的第三个​​参数。

lapply 需要(至少)两个参数,一个列表(包括数据框)和一个函数,FUN,对它进行操作:

data(iris)
df0 = iris[1:5,1:3]

fnx = function(v){v^2}

lapply(df0, fnx)

lapply接受一个可选的第三个​​参数,该参数必须对应于由lamply的第一个参数数据结构提供的FUN和 not 所需的其他参数:

lapply( df0[,1], quantile, probs=1:3/4)