plyr

    7熱度

    6回答

    如何從數據框中有效地提取組合常數列?我已經在下面包含了一個plyr實現來明確我想要做什麼,但是它很慢。我怎樣才能儘可能有效地做到這一點? (理想情況下,根本不分割數據幀)。 base <- data.frame(group = 1:1000, a = sample(1000), b = sample(1000)) df <- data.frame( base[rep(seq_len(nr

    4熱度

    2回答

    R的ave()功能比其名稱暗示的方式更有用 - 它基本上是tapply()的一個版本,它允許您返回與輸入相同長度的矢量,並將這些值重新插入與輸入相同的順序。 > x <- 1:10 > ave(x, x %% 2, FUN=function(d) d-mean(d)) [1] -4 -4 -2 -2 0 0 2 2 4 4 可以實現與ddply()類似的效果,但它需要的數據的一對夫婦的額外

    2熱度

    3回答

    我希望能夠將差異和百分比變化添加到數據框中的每一列。 我能夠融化數據和執行計算,但我無法弄清楚如何將它們重新塑造或重新塑造。我也有一個潛行的懷疑,這很容易用plyr完成,但由diff()返回n-1行給我的問題。 使用包含的數據集: library(plyr) library(quantmod) head(longley) GNP.deflator GNP Unemployed A

    0熱度

    1回答

    我不知道爲什麼這個代碼,試圖羣體性事件基礎上的ID和更大粒度無法使用plyr庫: times <- as.POSIXct("1970-01-01")+1:100 vals <- sample.int(2,100,replace=TRUE) df <- data.frame(times,vals) ddply(df, .(vals,round(times,"mins")), function(

    4熱度

    2回答

    我想寫一個函數,它需要一個數據框的名稱保存時間序列數據和該數據框中列的名稱作爲參數。該函數對該數據執行各種操作,其中之一是在列中添加每年的運行總計。我正在使用plyr。 當我使用直接與ddply和cumsum列的名字,我沒有問題: require(plyr) df <- data.frame(date = seq(as.Date("2007/1/1"), by = "month

    9熱度

    1回答

    我用ddply總結一些data.frame通過各種類別,如: # with both group and size being factors/categorical split.df <- ddply(mydata,.(group,size),summarize, sumGroupSize = sum(someValue)) 該工程進展順利,但往往我喜歡計算比率,這意味着

    3熱度

    4回答

    我想聚合3個類別的數據框架,其中一個不同。不幸的是,這一個不同的類別包含了NAs(實際上這是它需要改變的原因)。因此我創建了一個data.frames的列表。此列表中的每個data.frame都只包含三個變量的完整情況(只有其中一個變化)。 讓我們重現此: library(plyr) mydata <- warpbreaks names(mydata) <- c("someValue","g

    1熱度

    3回答

    這是我的第一篇文章,所以希望我解釋我需要做的正確。我對R還是比較陌生的,我可能已經閱讀了可以回答這個問題的文章,但我無法理解他們的意思。所以如果已經得到回答,請提前道歉。 我有一個來自radiocollars的GPS位置非常大的數據集,每天的位置數量都不一致。我想通過數據集並根據GPS信號的精度水平爲每一天選擇一個數據點。 所以它看起來像這樣。 Accuracy Month Day Easting

    0熱度

    3回答

    我有一個GPS領位置的大型數據集,每天有不同數量的位置。我只想分開收集單個位置的日子,並創建一個包含所有信息的新數據框。 month day easting northing time ID 6 1 ####### ######## 0:00 ## 6 2 ####### ######## 6:00 ## 6 2 ####### ######## 0:00

    0熱度

    1回答

    我有一個很大的數據框,它有來自多個州的調查數年的觀察。這裏的數據結構: state | survey.year | time1 | obs1 | time2 | obs2 CA | 2000 | 1 | 23 | 1.2 | 43 CA | 2001 | 2 | 43 | 1.4 | 52 CA | 2002 | 5 | 53 | 3.2 | 61 ... CA | 1998