plyr

    7熱度

    2回答

    來自R新手的相當基本的性能問題。我想通過字段的唯一組合爲數據框中的每一行分配一個組ID。這是我目前的做法: > # An example data frame > df <- data.frame(name=c("Anne", "Bob", "Chris", "Dan", "Erin"), st.num=c("101", "102", "105", "102", "150"),

    0熱度

    1回答

    的cast()功能是在計算利潤的合計值大: cast(df, IDx1+IDx2~IDy1, margins=c('IDx1','IDx2','grand_row'),c(min, mean, max)) 的問題是,我需要使用加權第二向量和自定義函數我的手段。 當然,ddply()讓我應用自定義功能聚集到我的分組的記錄: ddply(d, IDx1+IDx2~IDy1 , function(x)

    2熱度

    1回答

    感謝Hadley的plyr軟件包的ddply函數,我們可以將數據框取下來,按因子分解成子數據框,將每個函數發送給一個函數,然後將每個子數據幀的函數結果合併到一個新的數據框中。 但是,如果該函數返回一個像glm這樣的類的對象,或者在我的情況下是c(「glm」,「lm」),該怎麼辦?那麼,這些不能組合成一個數據框嗎?我得到這個錯誤,而不是 Error in as.data.frame.default(

    4熱度

    3回答

    我有一個腳本我使用其中ddply,如下面的例子: ddply(df, .(col), function(x) data.frame( col1=some_function(x$y), col2=some_other_function(x$y) ) ) 在ddply,是否有可能重新使用COL1不會再次調用整個功能? 例如: ddply(df, .(col), function(x) d

    3熱度

    2回答

    我不認爲這有問題,但是有沒有辦法將多層次,不均勻結構的列表信息合併爲一個「長」格式的數據幀? 具體來說: library(XML) library(plyr) xml.inning <- "http://gd2.mlb.com/components/game/mlb/year_2009/month_05/day_02/gid_2009_05_02_chamlb_texmlb_1/inning/

    3熱度

    4回答

    我有一個在它與列名叫做cols列表: cols <- c('Column1','Column2','Column3') 我想重現這一命令,但調用名單: data.frame(Column1=rnorm(10)) 這裏發生了什麼,當我嘗試: 如果我在I()或eval()包裹 Error: unexpected '=' in "data.frame(I(cols[1])=" 同樣的事情發生。 我該如何

    1熱度

    1回答

    我有一個DF和我想做的事情就可以了多次改造與plyr: idplot/idtree/species/condition/dbh_cm/h_m/hblc_m CalcG <- function (df) transform(df, g_m2 = pi * (dbh_cm^2)/40000) CalcHD <- function (df) transform(df, hd = h_m/dbh

    2熱度

    2回答

    我想寫一個函數做一些經常重複的分析,其中一部分是計算每個組內的成員數量和成員數量,所以ddply來救援!然而,我的代碼有一個問題.... 下面是一些示例數據 > dput(BGBottles) structure(list(Machine = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 4L, 4L, 4L), .Label = c("1",

    9熱度

    2回答

    我試圖重複向量a,b次的元素。也就是說,如果y = 2,則a =「abc」應該是「aabbcc」。 爲什麼下面的代碼示例沒有工作? sapply(a, function (x) rep(x,b)) ,並從plyr包, aaply(a, function (x) rep(x,b)) 我知道我失去了一些東西很明顯...

    7熱度

    3回答

    基本上我想要一個自動遞增的ID列基於我的同夥 - 在這種情況下(k聚,cvCut) > myDataFrame size kmer cvCut cumsum 1 8132 23 10 8132 10000 778 23 10 13789274 30000 324 23 10 23658740 50000 182 23 10 28534840 100000 65 23 10