带子集的ldply看不到局部变量

时间:2013-12-17 22:34:43

标签: r

我有一个团队名称(teamNames)列表和一个数据框列表(weekSummaries)

我希望按周获得团队摘要列表:

teamSummaries <- llply(teamNames,getTeamSubset)

getTeamSubset = function(teamName){
  temp=ldply(weekSummaries,subset,team_name==teamName)
}

然而,当我运行这个时,我得到一个错误

>Error in eval(expr, envir, enclos) : object 'teamName' not found

但是当我运行命令

>ldply(weekSummaries,subset,team_name=="Denver Broncos")

我得到一个数据框,其中包含一个团队所需的信息......有人可以指出我做错了吗?

1 个答案:

答案 0 :(得分:0)

看起来答案不是使用子集函数,而是使用自定义函数,将数据框传递给它,然后使用括号表示法进行子集化。比如:

teamSummaries <- llply(teamNames,getTeamSubset)

getTeamSubset = function(teamName){
  temp=ldply(weekSummaries,function(week){
    week[week$team_name==teamName,]
  })
}