【发布时间】:2016-05-12 12:00:36
【问题描述】:
我创建了一个名为 testFunc 的测试函数,它需要两个参数。
testFunc<-function(x,y){
length(x)
nrow(y)
}
现在我想使用 lappy 将此函数应用于列表,同时保持 y 参数不变。
考虑一个测试列表,testList:
testList<-list(a=c(1,2,3,4,5,5,6),b=c(1,2,4,5,6,7,8))
我们可以使用 lapply 在 testList$a 和 testList$b 上运行具有相同 y 值的 testFunc 吗?
我试过这个电话:
lapply(X = testList, FUN = testFunc, someDataFrame)
但我总是将 someDataFrame 的长度作为输出。我是否遗漏了一些明显的东西。
【问题讨论】:
-
为什么不将
y设置为在函数中固定,并且只使用x作为参数?即testfunc <- function(x, y=...) {...}? -
@Sotos :发布的代码已经完成了这项工作。但是,我认为 Tushar 想要同时返回 length(x) 和 nrow(y)
-
是的,我认为这没有多大意义......
-
@vasanthcullen 我希望它打印值 7, nrow(someDataFrame) 两次,因为 testList 有两个向量。它给我的只是 7 和 nrow(someDataFrame) 一次。
-
@vasanthcullen 是的,明白了。我应该使用 print 来打印行数。我认为你关于 R 打印最后一个评估值的观点是原因。谢谢。