Вопросы с тегом 'data.table'

Пакет данных R.table является расширением data.frame, созданным для быстрого анализа данных в памяти. Используйте тег dt для пакета DataTables с помощью Shiny (DT).
3 отв.

data.table vs dplyr: может ли что-то сделать хорошо, а другое плохо или плохо?

обзор Я относительно знаком с data.table, не так много с dplyr. Я прочитал некоторые виньетки и примеры dplyr на SO, и пока мои выводы таковы: data.table и dplyr сопоставимы по скорости, за исключением случаев, когда существует много (то есть>...
29 янв. '14 в 18:21
8 отв.

Как удалить столбец по имени в data.table?

Чтобы избавиться от столбца с именем "foo" в data.frame, я могу сделать: df <- df[-grep('foo', colnames(df))] Однако, как только df преобразуется в объект data.table, невозможно просто удалить столбец. Пример: df <- data.frame(id = 1:100...
09 февр. '12 в 1:20
2 отв.

Понимание, когда таблица данных является ссылкой на (по сравнению с копией) другой data.table

У меня возникли проблемы с пониманием свойств pass-by-reference data.table. Некоторые операции, похоже, "ломают" ссылку, и я хотел бы точно понять, что происходит. При создании data.table из другого data.table (через <-, а затем обновив новую т...
19 апр. '12 в 12:19
3 отв.

Почему pandas сливается в python быстрее, чем data.table сливается в R?

Недавно я встретил библиотеку pandas для python, которая согласно этот тест выполняет очень быстрые слияния в памяти. Это даже быстрее, чем data.table пакет в R (мой язык выбора для анализа). Почему pandas намного быстрее, чем data.table? Это из-за...
24 янв. '12 в 20:59
6 отв.

Совокупность/суммирование нескольких переменных на группу (например, сумма, среднее значение)

Из фрейма данных есть ли простой способ агрегировать (sum, mean, max et c) несколько переменных одновременно? Ниже приведены некоторые данные: library(lubridate) days = 365*2 date = seq(as.Date("2000-01-01"), length = days, by = "day") year = year(...
15 марта '12 в 18:44
8 отв.

Самый быстрый способ заменить NA в большой таблице данных.

У меня есть большой data.table, со многими отсутствующими значениями, разбросанными по всем его ~ 200k строкам и 200 столбцам. Я хотел бы переписать эти значения NA на нули как можно более эффективно. Я вижу два варианта: 1: преобразовать в data.fr...
29 авг. '11 в 23:35
6 отв.

Выберите несколько столбцов в data.table по их числовым индексам

Как мы можем выбрать несколько столбцов, используя вектор их числовых индексов (позиции) в data.table? Так мы будем делать с data.frame: df <- data.frame(a = 1, b = 2, c = 3) df[ , 2:3] # b c # 1 2 3
14 нояб. '12 в 20:18
2 отв.

Что делает .SD в data.table в R

.SD выглядит полезным, но я не знаю, что с ним делаю. Что это означает? Почему существует предшествующий период (полная остановка). Что происходит, когда я его использую? Я читал: .SD - это data.table, содержащее подмножество данных x для каждой г...
14 дек. '11 в 19:59
15 отв.

Замена NA с последним значением, отличным от NA

В data.frame(или data.table), я хотел бы "заполнить" NA с ближайшим предыдущим значением, отличным от NA. Простым примером использования векторов (вместо data.frame) является следующее: > y <- c(NA, 2, 2, NA, NA, 3, NA, 4, NA, NA) Мне нужна...
12 окт. '11 в 8:27
2 отв.

Почему rbindlist "лучше", чем rbind?

Я просматриваю документацию data.table, а также заметил из некоторых разговоров здесь о SO, что rbindlist должен быть лучше, чем rbind. Я хотел бы знать, почему rbindlist лучше, чем rbind и в каких сценариях rbindlist действительно превосходит rbi...
28 марта '13 в 6:05
3 отв.

Сортировка строк в data.table в порядке убывания по строковому ключу 'order (-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 fi...
10 сент. '12 в 17:30
5 отв.

Как удалить строку по ссылке в data.table?

Мой вопрос связан с назначением по ссылке и копированием в data.table. Я хочу знать, можно ли удалять строки по ссылке, похожие на DT[ , someCol := NULL] Я хочу знать о DT[someRow := NULL, ] Я предполагаю, что есть веская причина, почему эта ф...
28 мая '12 в 23:41
8 отв.

Преобразование классов столбцов в data.table

У меня проблема с использованием data.table: Как преобразовать классы столбцов? Вот простой пример: с data.frame у меня нет проблемы с его преобразованием, с data.table Я просто не знаю, как: df <- data.frame(ID=c(rep("A", 5), rep("B",5)), Quarte...
18 окт. '11 в 23:53
2 отв.

Назначьте несколько столбцов, используя: = в data.table, по группе

Каков наилучший способ назначить несколько столбцов с помощью data.table? Например: f <- function(x) {c("hi", "hello")} x <- data.table(id = 1:10) Я хотел бы сделать что-то вроде этого (конечно, этот синтаксис неверен): x[ , (col1, col2) := ...
27 июля '12 в 5:13
3 отв.

Почему X [Y] присоединяется к data.tables, не допускает полного внешнего соединения или левого соединения?

Это немного философский вопрос о синтаксисе соединения data.table. Я нахожу все больше и больше использования для data.tables, но все еще учась... Формат соединения X[Y] для data.tables очень краткий, удобный и эффективный, но, насколько я могу суд...
08 окт. '12 в 2:46