Запитання з тегом «data.table»

Пакет R data.table - це розширення data.frame, створеного для швидкого аналізу даних в пам'яті. Використовуйте тег dt для пакету DataTables з мережею (DT).

3
data.table vs dplyr: чи можна зробити щось добре, а інший не може чи погано?
Огляд Я відносно знайомий data.table, не так вже й багато dplyr. Я прочитав кілька dplyrвіньєт та прикладів, які з’явились на SO, і поки що мої висновки: data.tableі dplyrвони порівнянні за швидкістю, за винятком випадків, коли існує багато (тобто> 10-100 К) груп, а також за інших обставин (див. орієнтири нижче) dplyr …
758 r  data.table  dplyr 

8
Як видалити стовпець за іменем у data.table?
Щоб позбутися стовпця з назвою "foo" в a data.frame, я можу: df <- df[-grep('foo', colnames(df))] Однак, як тільки dfперетворюється на data.tableоб’єкт, немає можливості просто видалити стовпчик. Приклад: df <- data.frame(id = 1:100, foo = rnorm(100)) df2 <- df[-grep('foo', colnames(df))] # works df3 <- data.table(df) df3[-grep('foo', colnames(df3))] Але як тільки він …
196 r  data.table 

2
Розуміння, коли саме таблиця даних - це посилання на (проти копії) іншого таблицю даних
У мене виникають невеликі проблеми з розумінням властивостей проходження посилання data.table. Деякі операції, здається, "порушують" посилання, і я хотів би зрозуміти, що саме відбувається. При створенні data.tableз іншої data.table(через <-, а потім оновлення нової таблиці за :=допомогою оригінальної таблиці також змінюється. Це очікується відповідно до: ?data.table::copy та stackoverflow: пройти через …

3
Що означає .SD позначає у data.table в R
.SDвиглядає корисною, але я не дуже знаю, що з цим роблю. Що це означає? Чому існує попередній період (повна зупинка). Що відбувається, коли я ним користуюся? Я читаю: .SDце data.tableмістить підмножину xданих s для кожної групи, за винятком стовпців (груп). Він може бути використаний при групуванні i, при групуванні, за …
173 r  data.table 

4
Чому панди зливаються в python швидше, ніж злиття data.table в R у 2012 році?
Нещодавно я натрапив на бібліотеку панди для python, яка відповідно до цього орієнтиру виконує дуже швидкі злиття в пам'яті. Це навіть швидше, ніж пакет data.table в R (мою мову для вибору для аналізу). Чому pandasтак швидше, ніж data.table? Це через притаманну перевагу швидкості в пітоні над R, чи є якийсь …
160 python  r  join  data.table  pandas 

8
Об'єднати / узагальнити кілька змінних у групі (наприклад, сума, середнє значення)
З кадру даних, є простий спосіб агрегації ( sum, mean, maxодночасно с) і ін кілька змінних? Нижче наведено кілька зразкових даних: library(lubridate) days = 365*2 date = seq(as.Date("2000-01-01"), length = days, by = "day") year = year(date) month = month(date) x1 = cumsum(rnorm(days, 0.05)) x2 = cumsum(rnorm(days, 0.05)) df1 = …

6
Як видалити рядок за посиланням у data.table?
Моє запитання пов'язане із призначенням посиланням на копіювання в data.table. Я хочу знати, чи можна видаляти рядки за посиланням, подібно до DT[ , someCol := NULL] Я хочу знати про це DT[someRow := NULL, ] Напевно, є вагома причина, чому ця функція не існує, тому, можливо, ви могли просто вказати …
150 r  data.table 

10
Найшвидший спосіб замінити NA у великому таблицю даних
У мене є великий data.table , з великою кількістю відсутніх значень, розкиданих по його ~ 200k рядків та 200 стовпців. Я хотів би перекодувати ці значення NA на нулі якомога ефективніше. Я бачу два варіанти: 1: Перетворити в data.frame і використовувати щось на зразок цього 2: Якась класна команда встановлення …


17
Заміна NA з останнім значенням, що не відповідає NA
У data.frame (або data.table) я хотів би "заповнити" NA з найближчим попереднім значенням, що не стосується NA. Простий приклад використання векторів (замість а data.frame): > y <- c(NA, 2, 2, NA, NA, 3, NA, 4, NA, NA) Я хотів би функцію, fill.NAs()яка дозволяє мені побудувати yyтаку, що: > yy [1] …
141 r  data.table  zoo  r-faq 

2
Чому rbindlist "кращий", ніж rbind?
Я переглядаю документацію, data.tableа також помітив із деяких розмов тут на ПС, що rbindlist, мабуть, буде кращим, ніж rbind. Мені хотілося б знати, чому rbindlistкраще rbindі в яких сценаріях rbindlistсправді перевершується rbind? Чи є якась перевага щодо використання пам'яті?
135 r  data.table  rbind  rbindlist 

2
Призначте кілька стовпців, використовуючи: = у таблиці даних, за групами
Який найкращий спосіб призначити кілька колонок за допомогою data.table? Наприклад: f <- function(x) {c("hi", "hello")} x <- data.table(id = 1:10) Я хотів би зробити щось подібне (звичайно, цей синтаксис є неправильним): x[ , (col1, col2) := f(), by = "id"] І щоб розширити це, у мене може бути багато стовпців …

3
Сортування рядків у data.table у порядку зменшення за рядковим ключем `порядком (-x, v) 'дає помилку на data.table 1.9.4 або раніше
Скажімо , у мене є такі data.tableв R: library(data.table) DT = data.table(x=rep(c("b","a","c"),each=3), y=c(1,3,6), v=1:9) Я хочу замовити його у двох стовпцях (скажімо стовпці xта v). Я використав це: DT[order(x,v)] # sorts first by x then by v (both in ascending order) Але тепер я хочу сортувати його за x(у порядку …
125 r  string  sorting  data.table  key 

3
Чому приєднання X [Y] даних.tables не дозволяє зробити повне зовнішнє з'єднання або ліве з'єднання?
Це трохи філософське питання про синтаксис приєднання data.table. Я знаходжу все більше використання для data.tables, але все ще вчуся ... Формат з'єднання X[Y]для data.tables дуже стислий, зручний та ефективний, але, наскільки я можу сказати, він підтримує лише внутрішні з'єднання та праві зовнішні з'єднання. Щоб отримати ліве або повне зовнішнє з'єднання, …
123 r  join  data.table 

2
Як упорядкувати стовпці data.table (без копіювання)
Я хотів би змінити порядок стовпців в моєму data.table x, з урахуванням символьного вектора назв стовпців neworder: library(data.table) x <- data.table(a = 1:3, b = 3:1, c = runif(3)) neworder <- c("c", "b", "a") Очевидно, що я міг би зробити: x[ , neworder, with = FALSE] # or x[ , …
118 r  data.table 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.