【发布时间】:2013-10-08 00:04:58
【问题描述】:
我有一个类似于以下的数据集,但包含更多的列和行:
a<-c("Fred","John","Mindy","Mike","Sally","Fred","Alex","Sam")
b<-c("M","M","F","M","F","M","M","F")
c<-c(40,35,25,50,25,40,35,40)
d<-c(9,7,8,10,10,9,5,8)
df<-data.frame(a,b,c,d)
colnames(df)<-c("Name", "Gender", "Age", "Score")
我需要创建一个函数,让我对选定的数据子集的分数求和。但是,每次选择的子集可能有不同数量的变量。一个子集可能是Name=="Fred",另一个可能是Gender == "M" 和Age == 40。在我的实际数据集中,一个选定的子集中最多可以使用 20 列,因此我需要使其尽可能通用。
我尝试使用包含eval(parse(text=...) 的 sapply 命令,但它只需要 20,000 条左右记录的样本就需要很长时间。我确信有一种更快的方法,如果能找到任何帮助,我将不胜感激。
【问题讨论】:
-
我想这将取决于您发现过滤器的灵活表示形式,例如
list(Gender = "M", Age = 40)?