plyr

    6熱度

    4回答

    有沒有人知道一個爽快的方式來命令ddply總結操作的結果? 這是我正在做的,以獲得按降序排列的深度輸出。 ddims <- ddply(diamonds, .(color), summarise, depth = mean(depth), table = mean(table)) ddims <- ddims[order(-ddims$depth),] 隨着輸出... > ddims

    14熱度

    1回答

    我發現Hadley的plyr軟件包對R非常有幫助,它是一個很棒的DSL用於數據轉換。解決的問題非常普遍,我不會在R中操作數據,而是在其他編程語言中面對其他用例。 有誰知道是否存在一個模塊,爲python做類似的事情?例如: def ddply(rows, *cols, op=lambda group_rows: group_rows): """group rows by cols, th

    3熱度

    2回答

    中的開始日期和結束日期列表中統計組中當前的人數?或者說,我該如何做得比我更好。 我有一個名稱和組中的開始和結束日期的數據框。我希望隨着時間的推移使用組中的人數生成一個數據框。請注意,有些人還沒有離開(結束日期是NA) 下面是一個例子集 foo<-data.frame(name=c("Bob","Sue", "Richard", "Jane"), Start=as.POSIXct(c("

    5熱度

    2回答

    是否可以在ddply中使用空格? 我使用的電子表格中的數據來自列名中有很多空格,我想保留這些名稱,因爲後來我想用與原始列名相同的列名導出此數據。有200多列,使用make.names當然會給我合適的名字,但是我失去了原來的列名。 但ddply似乎不喜歡空格?有沒有解決方法? lev=gl(2, 3, labels=c("low", "high")) df=data.frame(factor=le

    4熱度

    2回答

    我試圖在它內部使用ddply函數。但是我無法去工作。這是一個重現我所得到的虛擬例子。這有什麼要做的嗎this bug? library(ggplot2) data(diamonds) foo <- function(data, fac1, fac2, bar) { res <- ddply(data, .(fac1, fac2), mean(bar)) res }

    7熱度

    5回答

    我想爲n行分配一個數據框,這些行由一個變量分組並按另一個變量排序。這將通過一個例子清楚: d1 <- data.frame(Gender = c("M", "M", "F", "F", "M", "M", "F", "F"), Age = c(15, 38, 17, 35, 26, 24, 20, 26)) 我想得到2行,按年齡排序,每個性別。期望的輸出是: Gender Age

    1熱度

    2回答

    我試圖找到從plyr包 所以我做 new = ddply(diamonds, c("cut", "color", "clarity"), transform, ecart= price/carat - mean(price/carat)) best = ddply(new, c("cut", "color", "clarity"), summarize, which(ecart == m

    3熱度

    1回答

    我使用ddply很多。我偶爾使用有序的因素。在包含排序因子的數據幀上調用ddply會丟失重新組合的數據幀中的任何順序。 我寫了下面的包裝爲ddply,記錄水平排序,然後再應用它在原先訂購的任何列: dat <- data.frame(a=runif(10),b=factor(letters[10:1], levels=letters[10:1],ordered=TRUE),

    1熱度

    1回答

    使用plyr庫合併3個數據幀時,我遇到一些具有相同名稱的值,但每個值在不同的data.frames中都有不同的值。 do.call(rbind.fill,list)如何處理這個問題:通過算術還是幾何平均?

    1熱度

    2回答

    我想基於給定變量的邊界值分割數據幀,計算邊界兩側的某些內容並輸出矩陣(最好是數據幀)。示例代碼波紋管: set.seed(1) tdata <- data.frame(a1=rnorm(100, mean=5, sd=2), a2=rep(0:1, length.out=100)) tall <- sapply(1:9, function(x) { d <- split(tdata,