2011-11-11 36 views
0

我有一个data.frame的条目。每个星期我都有一个data.frame,这些数据有条目的相关计数。虽然没有这样的星期计数data.frame,但它的每个条目都是超集。申请多个参数

我想要做的就是将这些结合起来,这样我就有了一个data.frame,其中第一列是条目,下N列是N周计数,如果条目没有计数本周,那么它被认为是0。

我第一次尝试是这样的:

append_week_counts_to_entries <- function(entries) { 
    entries$week1 <- apply(entries,1,helpfunc,row=row,week=count_week1) 
    entries$week2 <- apply(entries,1,helpfunc,row=row,week=count_week2) 
# ... to all N weeks 
    return(entries) 
} 

helpfunc <- function(entries,row,week) { 
    if(as.character(row[1]) %in% week$id) { 
    return(week[which(as.character(week$id) == as.character(row[1])),2]) 
    } 
    else { 
    return(0) 
    } 
} 

(此工作,直到我把它抽象成现在的样子,我宁愿了解它如何能比继续工作。写它的好办法,我以前还)

除了不工作因此,我也有一种感觉,这对于R来说效率非常低。在这两个方面的帮助将非常感谢。

编辑: 一个例子的数据集将是:

entries: structure(list(`entries$id` = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10 
)), .Names = "entries$id", row.names = c(NA, -10L), class = "data.frame") 

count_week_i: structure(list(Var1 = structure(1:3, .Label = c("1", "2", "3" 
), class = "factor"), Freq = c(1L, 2L, 4L)), .Names = c("Var1", 
"Freq"), row.names = c(NA, -3L), class = "data.frame") 
+2

后的一些数据得到一些答案。 – Ramnath

+0

'row'和'count_week1'从哪里来?尝试使用'dput'向我们展示每个数据帧的结构。 – joran

+0

@joran行意味着来自条目的行。 count_week1已经在ws中声明为带有两列的df(一列有id,另一列是相应的计数)。拉姆纳特,我不确定你会在数据方面寻找什么。他们是相当基本的套,一个只有ID的所有条目(名为项)和多用的ID和计数(每星期) – user592419

回答