我有一个lapply函数的问题,我没有发现之前发布的任何匹配问题。 我需要对所有列表元素应用置换测试,但是我无法正确设置lapply。
我正在尝试这个
testperm <- lapply(test-list, FUN=perm.test, formula=(cover ~ group))
函数perm.test来自包'exactRankTests' cover是依赖(数字)变量,group是一个因子。
非常感谢任何有关如何应用此类功能的提示。 延
答案 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)