data.table

Wymiana NAs na najnowszą wartość non-NA

W danych.ramka (lub dane.table), chciałbym "napełnić" NAs najbliższą poprzednią wartością nie-NA. Prosty przykład użycia wekt ... yjście > y [1] NA 2 2 2 2 3 3 3 4 4 4 ... co chyba działa. Ale, stary, czy to jest brzydkie! Jakieś sugestie?

Wybierz / Przypisz do danych.tabela, gdy nazwy zmiennych są przechowywane w wektorze znaków

Jak odnosić się do zmiennych w data.table, Jeśli nazwy zmiennych są przechowywane w wektorze znaków? Na przykład, działa to d ... ację dla danych.tabela z notacją czy bez :=? Oczywistą rzeczą dt[ , list(colname)] nie działa (nie spodziewałem się tego).

Dodaj wiele kolumn do danych R.tabela w jednym wywołaniu funkcji?

Mam funkcję, która zwraca dwie wartości na liście. Obie wartości muszą być dodane do danych.tabela w dwóch nowych kolumnach. ... środowisku za każdym razem, gdy wywołuję myfun, potrzebuję tylko sposobu na dodanie dwóch kolumn za pomocą referencji na raz.

Zakładka połącz z pozycjami początkowymi i końcowymi

Rozważmy następujące data.table s. pierwszy definiuje zbiór regionów z pozycjami początkowymi i końcowymi dla każdej grupy "x ... e sposób, aby zachować wszystkie kolumny z łącznikiem rolkowym, abym mógł zgłosić" start"," pos"," end " zgodnie z życzeniem?

Jak zastąpić wartości NA w tabeli dla wybranych kolumn

Istnieje wiele postów o zastąpieniu wartości NA. Zdaję sobie sprawę, że można zastąpić NAs w poniższej tabeli / ramce następu ... nna logiczna. Mam kilka kolumn, więc nie chcę tego robić o jeden. I chciałbym wiedzieć, jak to zrobić. Masz jakieś sugestie?

rolka z okienkiem start/end

Rozważmy następujące data.table s. pierwszy definiuje zbiór regionów z pozycjami początkowymi i końcowymi dla każdej grupy ... eje sposób, aby zachować wszystkie kolumny z łącznikiem rolkowym, abym mógł zgłosić"start","pos"," end " zgodnie z życzeniem?

Jak utworzyć zmienną lag w każdej grupie?

Mam dane.Tabela: set.seed(1) data <- data.table(time = c(1:3, 1:4), groups = c(rep(c("b", "a"), c(3, ... danych.tabela, która jest problematyczna. Co to jest najbardziej efektywny sposób na to w base R, plyr, dplyr i data.stolik?

Sortuj wiersze w danych.tabela w kolejności malejącej na klawiszu łańcuchowym 'order (- x, v`' podaje błąd w danych.tabela 1.9.4 lub wcześniejsza

Powiedzmy, że mam następujące data.table w R: library(data.table) DT = data.table(x=rep(c("b","a","c"),each=3), y=c(1,3 ... [order(-y,v)] wynik jest ok, ale jeśli użyjesz DT[order(-x,v)] wystąpi błąd. Więc moje pytanie brzmi: jak rozwiązać ten błąd?

Podzbiór według grupy z danymi.tabela

Załóżmy, że mam tabelę danych zawierającą niektórych baseballistów: library(plyr) library(data.table) bdt <- as.data.ta ... [, .SD[g == max(g)], by = id] Ale jest tylko o 30% szybszy niż plyr, co sugeruje, że prawdopodobnie nie jest idiomatyczny.

R podsumowanie wielu kolumn z danymi.tabela

Próbuję użyć danych.tabela przyspieszająca przetwarzanie dużych danych.ramka (300k x 60) wykonana z kilku mniejszych scalonyc ... y przykład, ale wydaje się to trochę skomplikowane dla mojego potrzeb. dzięki Jak podsumować dane.tabela w wielu kolumnach

Jak zmienić kolejność danych.kolumny tabeli (bez kopiowania)

Chciałbym zmienić kolejność kolumn w moim data.table x, podano wektor znaków nazw kolumn, neworder: library(data.table) x &l ... # 2: 0.4787768 2 2 # 3: 0.3570803 1 3 Ale to wymagałoby ponownego skopiowania całego zbioru danych. Jest na to inny sposób?

Data.meta-programowanie tabeli

Myślę, że meta-programowanie jest tutaj właściwym terminem. Chcę móc korzystać z danych.table podobnie jak jeden będzie uży ... a_out) } test_agg_meta<-function(){ stopifnot(all(my_agg()==my_agg_meta())) print("Congrats, you passed the test") }

Czyszczenie wartości " Inf` z ramki danych R

W R, mam operację, która tworzy pewne Inf wartości podczas przekształcania ramki danych. Chciałbym zamienić te Inf wartośc ... ncol(x)){ x[,i][is.infinite(x[,i])] = NA } return(x) } Ale nie sądzę, że to naprawdę wykorzystuje moc R.

Wyodrębnij wiersz odpowiadający minimalnej wartości zmiennej według grupy

Chcę (1) pogrupować dane według jednej zmiennej (State), (2) w każdej grupie znajdź wiersz o minimalnej wartości innej zmienn ... 2: RI 19 Ale jak wyodrębnić cały wiersz odpowiadający tym min wartości, tzn. także włączenie Company do wyniku?

Jak wybrać dane R.wiersze tabeli oparte na dopasowaniu podłańcucha (a la SQL like)

Mam dane.tabela z kolumną znakową i chce wybrać tylko te wiersze, które zawierają podłańcuch w niej. Odpowiednik SQL WHERE x ... hs["mb" %in% Name] Empty data.table (0 rows) of 2 cols: Name,Number Jak wybrać tylko wiersze, w których nazwa zawiera "mb"?

Sortuj dane.tabela szybko Rosnąco / malejąco

Mam dane.tabela z około 3 milionami wierszy i 40 kolumnami. Chciałbym posortować tę tabelę według porządku malejącego w grupa ... 6 Mateusz: to, co mnie zaskoczyło, to zamiana znaku miesiąca zajmuje większość czasu. Bez niego setkey szybko się rozpala.

Podaj nazwę kolumny w danych.tabela wykorzystująca zmienną [duplikat]

Możliwy duplikat:zmienne wybieranie / przypisywanie do pól w danych.Tabela W poniższym przykładzie tworzę tabelę dan ... . Te nazwy kolumn I zostanie dostarczony poprzez przejście przez moduł R. Nieważne, mam to, powinno być: DT[ , get(temp)]

Najbardziej efektywna Lista do danych.metoda frame ' a?

Właśnie rozmawiałem o tym ze współpracownikami i pomyśleliśmy, że warto zobaczyć, co ludzie w SO land mają do powiedzenia. Z ... a metoda skórowania kota, która jest szczególnie lepsza, gdy wydajność (szczególnie pod względem pamięci) jest najważniejsza?

najlepszy sposób na transpozycję danych.tabela

[UPDATE: w pakiecie data.table jest już natywna Funkcja transpose() Często muszę transponować data.table, za każdym razem, ... ol2 12 22 32 # col3 13 23 33 Czy jest coś, co mógłbym zoptymalizować tutaj lub zrobić to w "ładniejszy" sposób?

Konwertuj ramkę danych na dane.tabela bez kopii

Mam dużą ramkę danych (w kolejności kilku GB), którą chciałbym przekonwertować na data.table. Użycie as.data.table tworzy kop ... (Mb) # Ncells 304519 16.3 597831 32.0 306162 16.4 # Vcells 100444242 766.4 322342905 2459.3 200933219 1533.0