2011-11-11 32 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

回答