data.table

    43熱度

    3回答

    用data.table包實現滑動窗口函數的最佳(最快)方法是什麼? 我想計算滾動中位數,但每個日期有多行(由於2個附加因素),我認爲這意味着動物園rollapply函數將無法正常工作。以下是使用幼稚循環的示例: library(data.table) df <- data.frame( id=30000, date=rep(as.IDate(as.IDate("2012-01-

    88熱度

    1回答

    使用data.table分配到多列的最佳方式是什麼?例如: f <- function(x) {c("hi", "hello")} x <- data.table(id = 1:10) 我願做這樣的事情(當然這個語法是不正確的): x[ , (col1, col2) := f(), by = "id] ,並延長我可能有名稱的列在一個變量(比如column_names),我想這樣做: x[

    12熱度

    2回答

    我有以下樣品data.table: dtb <- data.table(a=sample(1:100,100), b=sample(1:100,100), id=rep(1:10,10)) 我想聚集所有列(a和b,儘管它們應當分開)按id使用colSums,例如。什麼是正確的方法來做到這一點?以下不工作: dtb[,colSums, by="id"] 這僅僅是一個樣品,我的表中有很多列,所

    26熱度

    2回答

    我正在嘗試向我的data.table添加列,其中名稱是動態的。另外,我需要在添加這些列時使用by參數。例如: test_dtb <- data.table(a = sample(1:100, 100), b = sample(1:100, 100), id = rep(1:10,10)) cn <- parse(text = "blah") test_dtb[ , eval(cn) := me

    8熱度

    2回答

    我在R中有一個非常大的數據框,並且想要爲其他列中每個不同值的兩列進行求和,例如我們有一天中各個商店中的交易數據幀的數據如下 shop <- data.frame('shop_id' = c(1, 1, 1, 2, 3, 3), 'shop_name' = c('Shop A', 'Shop A', 'Shop A', 'Shop B', 'Shop C', 'Shop C'),

    55熱度

    3回答

    我有一個data.table表,大約有250萬行。有兩列。我想刪除兩列中重複的行。以前對於data.frame我會這樣做: df -> unique(df[,c('V1', 'V2')])但這不適用於data.table。我試過unique(df[,c(V1,V2), with=FALSE]),但它似乎仍然只對data.table的鍵而不是整行進行操作。 有什麼建議嗎? 乾杯, 戴維 例 >dt

    1熱度

    1回答

    我使用data.table包在R.當試圖在數值列使用setkey的,我發現了以下錯誤消息: setkey(candidate.SNPs.MAF, p) Error in setkeyv(x, cols, verbose = verbose) : Column 'p' cannot be coerced to integer without losing fractional data.

    3熱度

    1回答

    我有一個問題,包括data.table在一個函數中的操作。輸入參數是data.table名稱和列/變量名稱。 我可以通過使用get()命令來引用data.table。但是,對變量名使用相同的命令不起作用。我知道get()可能不適用於列/變量名,但我堅持使用哪個命令。 編輯:我現在包括substitute()而不是get(),它仍然不起作用。 toy_example_fun <- function(

    8熱度

    2回答

    我在聚集數據框時遇到了一些問題,同時保持組的原始順序(基於數據框中的第一次出現的順序)。我已經設法做對了,但希望有一個更簡單的方法去實現它。 這裏是一個樣本數據集上下工夫: set.seed(7) sel.1 <- sample(1:5, 20, replace = TRUE) # selection vector 1 sel.2 <- sample(1:5, 20, replace = T

    1熱度

    3回答

    我試圖對R中的數據幀的每一行進行計算,並將計算作爲新列附加在幀中。我開始使用「by」功能,但是在計算時非常慢,所以我轉而使用「apply」函數。我想它的工作方式是運行我的函數apply,將輸出保存到一個變量並將數據附加到原始數據框。 我創建了一個函數來計算保險計劃的期限長度並返回該值,該值在樣本數據集上正常工作。當我使用我的大型數據集時,出現「無法分配大小的向量...」的錯誤。我知道很多人推薦使用