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

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

3
data.table vs dplyr: один может делать что-то хорошо, другой - плохо или плохо?
обзор Я относительно знаком с data.table, не так много с dplyr. Я прочитал несколько dplyrвиньеток и примеров, которые всплыли на SO, и до сих пор мои выводы таковы: data.tableи dplyrсопоставимы по скорости, за исключением случаев, когда существует много (то есть> 10-100 КБ) групп, и при некоторых других обстоятельствах (см. контрольные …
760 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из другого 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 году?
Недавно я наткнулся на библиотеку pandas для 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
У меня есть большая таблица данных , со многими пропущенными значениями, разбросанными по строкам ~ 200 тыс. И 200 столбцам. Я хотел бы как можно более эффективно перекодировать эти значения NA в нули. Я вижу два варианта: 1: преобразовать в data.frame и использовать что-то вроде этого 2: какая-то классная команда …

18
Замена NA на последнее значение, отличное от NA
В data.frame (или data.table) я хотел бы «заполнить вперед» NA ближайшим предыдущим значением, отличным от NA. Вот простой пример использования векторов (вместо a data.frame): > y <- c(NA, 2, 2, NA, NA, 3, NA, 4, NA, NA) Мне нужна функция, fill.NAs()которая позволяет мне создавать yyтакие, что: > yy [1] NA …
150 r  data.table  zoo  r-faq 


2
Почему rbindlist «лучше», чем rbind?
Я просматриваю документацию data.tableи также заметил из некоторых разговоров здесь о SO, который rbindlistдолжен быть лучше, чем rbind. Я хотел бы знать, почему rbindlistлучше rbindи в каких сценариях rbindlistдействительно лучше rbind? Есть ли какое-то преимущество с точки зрения использования памяти?
135 r  data.table  rbind  rbindlist 

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

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 first by x then by v (both in ascending order) Но теперь я хочу отсортировать его x(в порядке убывания) …
125 r  string  sorting  data.table  key 

3
Почему соединение X [Y] таблиц data.tables не допускает полное внешнее соединение или левое соединение?
Это немного философский вопрос о синтаксисе соединения data.table. Я нахожу все больше и больше применений для data.tables, но все еще учусь ... Формат соединения X[Y]для data.tables очень лаконичен, удобен и эффективен, но, насколько я могу судить, он поддерживает только внутренние соединения и правые внешние соединения. Чтобы получить левое или полное …
123 r  join  data.table 


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.