data.table

    141熱度

    3回答

    我最近遇到了pandas python庫,根據this benchmark執行非常快速的內存合併。它甚至比R中的data.table包快(我選擇用於分析的語言)。 爲什麼pandas比data.table快得多?是因爲python對R的固有速度優勢,還是存在一些我不知道的折衷?有沒有辦法在data.table中執行內部和外部連接,而不使用merge(X, Y, all=FALSE)和merge(X

    4熱度

    1回答

    我在使用data.table包時遇到了一些麻煩。我使用這個軟件包是因爲它看起來非常快速和高效,並且它將在一個非常大的數據集上工作(〜6m x 300)。 所以,基本上我有這個問題的一個例子是: AA <- matrix(runif(50,0,100), 10,5) AA <- data.table(AA) colnames(AA) <- c("one","two","three","four"

    3熱度

    1回答

    我有一個彙總統計數據框,我轉換爲寬使用重塑。這工作正常。但是,如果我將錶轉換爲中間的data.table(用測試統計信息添加另一列),則即使不更改數據,重塑也會引發錯誤。 require(data.table) stats <- structure(list(sample = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L,

    3熱度

    2回答

    我有一個相當大的一塊有時打破,據代碼,我可以隨意看,並顯示錯誤消息: 此應用程序已請求運行時終止它在 不尋常的方式。請聯繫應用程序的支持團隊獲取更多 信息。 一些研究表明我,這似乎是一個Windows/C runtime消息時abort被調用(見例如這個link)。這使我堅信:由於它不是由R拋出的錯誤,我不知道在哪裏看。有沒有人有任何線索R或data.table(如果有可能一個包調用abort函數

    7熱度

    3回答

    我正在努力高效地執行兩個數據幀之間的「關閉」日期匹配。這個問題使用plyr軟件包中的idata.frame來探索解決方案,但我也會對其他建議的解決方案感到非常滿意。 下面是兩個數據幀的一個非常簡單的版本: sampleticker<-data.frame(cbind(ticker=c("A","A","AA","AA"), date=c("2005-1-25","2005-03-30",

    24熱度

    1回答

    在測試我的代碼,我發現了以下內容:如果我分配data.table DT1到DT和更改DT之後,DT1隨着它變化。所以DT和DT1似乎是內部鏈接。這是預期的行爲?儘管我不是編程專家,但這看起來不對,而且使用簡單的R變量或data.frame進行測試,我無法重現該行爲。這裏發生了什麼事? DF <- data.frame(ID=letters[1:5], value=1:5) DF

    12熱度

    2回答

    我可以一個data.table轉換爲XTS對象,就像我做的一個data.frame: > df = data.frame(x = c("a", "b", "c", "d"), v = rnorm(4)) > dt = data.table(x = c("a", "b", "c", "d"), v = rnorm(4)) > xts(df, as.POSIXlt(c("2011-01-01 15

    2熱度

    1回答

    我已經開始使用data.table。事實上,它是非常快速和相當好的語法。我在日期上遇到麻煩。我喜歡用lubridate。在我的許多數據集中,我有日期或日期和時間,並使用lubridate來操縱它們。 Lubridate將該瞬間存儲爲POSIX類。我在這裏看到了答案,例如創建新的變量來獲得例如。我不喜歡那樣。有時候我會按季度分析其他時間,按季度分析其他時間,其他時間按月分析,其他時間按持續時間分析。

    4熱度

    1回答

    我正在使用data.table包相當多。有很多子集,查詢或搜索的例子(或者任何你想稱之爲)的二進制搜索,這顯然比矢量掃描快得多。以下是幫助文件的摘錄。 DT["a"] # binary search (fast) DT[x=="a"] # vector scan (slow) 但是,如果一個人想搜索的列是不是一個因素(或字符),而是爲整數會發生什麼。 cpt <- c(234

    4熱度

    1回答

    我使用的data.table相當多。它工作的很好,但我發現它花了很長時間來轉換我的語法,以便利用二進制搜索。 在下面的數據表會怎麼選擇1所有行,包括在CPT值是NA但不包括行,其中的CPT值是23456或10000 cpt <- c(23456,23456,10000,44555,44555,NA) description <- c("tonsillectomy","tonsillectomy