我需要遍历一个向量并调用一个函数。此函数的结果是一个数据帧,我想将函数针对矢量中的每个值返回的所有数据帧组合为一个数据帧。
考虑下面的示例。我想将getDetails应用于vec的每个值并合并结果。
vec = c(1,2)
getDetails = function(match){
if (match == 1)
return (data.frame(Player=c(1,2), Score = c(3,4)))
else
return (data.frame(Player=c(1,2), Score = c(7,8)))
}
我想返回的是:
Player Score
1 1 3
2 2 4
3 1 7
4 2 8
我尝试了sapply,但是返回的数据帧的长度与向量的长度相同(因此,每一行都是一个数据帧,而不是向量)。有一个简单的解决方案吗?
do.call(rbind, lapply(vec, getDetails))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句