8

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

我正在尝试这个

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

函数 perm.test 来自包'exactRankTests' 封面是依赖(数字)变量,组是一个因素。

任何有关如何应用此类功能的提示将不胜感激。詹斯

4

2 回答 2

9

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

在这种情况下尝试:

testperm <- lapply(test.list, FUN=function(x) perm.test(formula=(cover ~ group),data=x)) 
于 2011-08-10T10:40:21.530 回答
2

这是您需要查看的第三个论点。

lapply接受(至少)两个参数,一个列表(包括数据框)和一个对其进行操作的函数FUN:

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

fnx = function(v){v^2}

lapply(df0, fnx)

lapply 接受一个可选的第三个参数,该参数必须对应于 FUN 所需的附加参数,而不是lapply 的第一个参数数据结构提供的:

lapply( df0[,1], quantile, probs=1:3/4)
于 2011-08-10T11:01:52.480 回答