purrr rozszerza funkcjonalny zestaw narzędzi do programowania w języku R, dostarczając kompletny i spójny zestaw narzędzi do pracy z funkcjami i wektorami, takimi jak map () i redukuj ().

Więcej na temat purrr...

Dany: library(tidyverse) df <- data.frame(est = c(1.36, -0.03), std = c(0.16, 0.18)) df # est std # 1 1.36 0.16 # 2 -0.03 0.18 Chcę wykonać następujące czynności: exp(df[1, 1] + qnorm(c( 0.025, 0.5, 0.975))*df[1, 2]) # [1] 2.847398 3.896193 5.331295 exp(df[2, 1] + qnorm(c( 0.....
26 styczeń 2022, 21:20
Dla następujących df, jeśli żaden z type ze wszystkimi NA lub NA_real_, działa następujący kod: library(gt) library(gtExtras) df <- structure( list( type = c("v1", "v2", 'v3'), `2017-06` = c(300, 100, NA_real_), `2017-07` = c(10, 900, NA_real_), `2017-08` = c(500, NA, NA_real_), ....
26 styczeń 2022, 13:52
Cześć, napotkałem problem po użyciu group_by i nest, gdy próbuję przekształcić wynik w pełną ramkę danych. W szczególności dane wyglądają podobnie do przykładu z kolumnami w formacie character i list library(tibble) example = as_tibble(data.frame(dim_1 = c('a','b'), dim_2 = c('g', 'k'))....
25 styczeń 2022, 09:52
Mogę zapętlić każdy element z listy za pomocą pętli for: data <- list("Hello", c("USA", "Red", "100"), c("India", "Blue", "76")) for(i in data){ print(i)} Wynik: [1] "Hello" [1] "USA" "Red" "100" [1] "India" "Blue" "76" Zastanawiam się, jaka jest równoważna metoda używająca apply z bazy R lub i....
23 styczeń 2022, 15:59
Jestem nowy w korzystaniu z funkcji na listach. Napisałem funkcję do wykonania testu statystycznego na zbiorze wartości. Importuję zestaw wartości jako listę do funkcji jako dane wejściowe i uruchamiam program. Zauważyłem jednak, że plik wyjściowy ma podobne nazwy kolumn wyjściowych. Czy możemy z....
22 styczeń 2022, 03:47
Mam ramkę danych, która zawiera zmienną grupującą. Proste tworzenie listy ramek danych za pomocą group_split, ale potem chciałbym odwrócić się i stworzyć wykres grupujący te 5 naraz za pomocą facetingu. Dla odtwarzalności użyję mtcars ldf <- mtcars %>% group_split(carb) Teraz mam blokadę mózgu,....
22 styczeń 2022, 01:54
Chciałbym całkiem wydrukować zagnieżdżoną ramkę danych (tibble). Oto minimalny przykład df <- tribble(~name,~data, "first",tibble(type=c("a","b","c"),value=c(2,4,5)), "second",tibble(type=c("a","b"),value=c(3,1))) Po to aby: name data <chr> <list> 1 first <tibble [3 × ....
21 styczeń 2022, 14:59
Mam problemy z zapisem plików za pomocą pętli. Najpierw napisałem funkcję, która działa dobrze bez pętli. Jednak zawsze kończy się to niepowodzeniem z pętlą. Czy ktoś może mi podać powód? a<-c(1,2,3) b<-c(4,5,6) c<-c(7,8,9) data<-data.frame(a,b,c) path<-list('path1/', 'path2/') test<-function(d....
21 styczeń 2022, 09:56
Robię coś całkiem prostego. Mając ramkę danych zawierającą daty rozpoczęcia i zakończenia dla określonych okresów, chcę rozwinąć/utworzyć pełną sekwencję dla każdego okresu podzielonego na tydzień (z współczynnikiem dla każdego wiersza), a następnie wyprowadzić to w jednej dużej ramce danych. Na pr....
19 styczeń 2022, 18:58
Wiersze „pars” ramek danych zawierają dwa parametry definiujące krzywe logistyczne: library(ggplot2) library(purrr) pars <- data.frame( diff = c(-1.5, 2.5), disc = c(1.2, 2.5) ) Te dwie krzywe można wykreślić za pomocą map() i ggplot() w ten sposób. icc <- function(x) map( 1:nrow(pars), ~ ....
19 styczeń 2022, 17:31
Chcę użyć dplyr filter() w połączeniu z pomocnikami wyboru, takimi jak starts_with(). Obecny post jest kontynuacją tej odpowiedzi, ale w nieco bardziej wyrafinowanej strukturze danych, która obejmuje listę -kolumny i map2() z pakietu {purrr}. Rozważ następującą ramkę danych my_mtcars: library(tibbl....
19 styczeń 2022, 17:04
Mam tak wiele podzbiorów danych na liście, więc wyszczególnienie każdego zestawu danych byłoby uciążliwe i bardzo nużące. Czy można to osiągnąć za pomocą lapply lub purrr? Z góry dziękuję. library(dplyr) mydata <- list(data.frame( A = c(1, 2, 3), B = c("Test1", "Test2", "Test3")), data.frame....
18 styczeń 2022, 12:27
Edytowany kod, na przykład z tego linku, mam nadzieję przekonwertować go na niestandardową funkcję i mógłbym łatwo zastosuj go do nowych ramek danych i argumentów o podobnych formatach: library(ggplot2) library(patchwork) # Create ggplot2 scatterplot p1 <- ggplot(iris, ....
16 styczeń 2022, 06:27
Próbuję uruchomić tę funkcję z exec(). Mam obejście, które używa rlang::expr, a następnie !!, ale oznacza to zmianę funkcji, aby zaakceptować wyrażenie jako argument zamiast cytowanej zmiennej. Czy istnieje sposób na wywołanie tej funkcji bez utraty możliwości przekazywania argumentów w cudzysłowi....
15 styczeń 2022, 19:42
Nie mogę sobie poradzić z następującym problemem. Zakładając następujące dane: library(tidyverse) df <- tibble(source = c("A", "A", "B", "B", "B", "C"), value = c(5, 10, NA, NA, NA, 20), add = c(1, 1, 1, 2, 3, 4)) To, co chcę zrobić, to: we wszystkich przypadkach, w kt....
14 styczeń 2022, 15:08
Wydaje mi się, że jest prawdopodobnie lepszy sposób na zrobienie tego w tidyverse niż for-loop. Zacznij od standardowej tabeli/ramki danych i utwórz listę, w której nazwy elementów listy są unikalnymi wartościami jednej kolumny (group_by?), a elementy listy są wartościami z innej kolumny. my_data....
13 styczeń 2022, 20:15
Gdy używasz purrr::reduce() do łączenia z lewej strony dużej listy ramek danych, domyślnie nadaj kolumnom nazwy .x, .y, .x.x, .y.y itd. Czy można zmienić to zachowanie, aby uzyskać nazwy kolumn z zakończeniami numerycznymi? np. 0,1, 0,2, 0,3, 0,4? # test data data.frame(id= rep(letters[1:5],3,20), ....
13 styczeń 2022, 15:49
Chciałbym zastosować pewną funkcję (mianowicie AddLags od dołu) do grup ramki danych. Aby to osiągnąć, staram się użyć dwóch następujących po sobie map_dfr (rurociągów jeden do drugiego), aby zastosować odpowiednie filtry. W ostatnim kroku stosuję funkcję niestandardową (wspomnianą wcześniej) - uż....
12 styczeń 2022, 19:51
Próbuję uzyskać nieco inny wynik z iteracji purrr::map w zależności od warunku. Powiedzmy, że mam ten kod tworzący wykresy i przechowujący je w ramce danych: library(tidyverse) #> -- Attaching packages --------------------------------------- tidyverse 1.3.1 -- #> v ggplot2 3.3.5 v purrr 0.3.4....
12 styczeń 2022, 03:04
Używając poniższego kodu, mogę wygenerować raport ppt dla podzbioru zestawu danych mtcars: library(ggplot2) library(tidyverse) library(patchwork) library(officer) library(officedown) library(glue) small <- mtcars %>% filter(carb %in% c(1, 2)) p1 <- ggplot(mpg, wt, data = small, colour = cyl) p2....
11 styczeń 2022, 19:33
Chcę zastosować kilka różnych funkcji jednocześnie do jednej ramki danych, a następnie umieścić wyniki na liście ramek danych. Na przykład mógłbym arrange o jedną kolumnę, a następnie zapisać wynik jako nową ramkę danych. Lub mógłbym filter trochę danych, a następnie zapisać jako kolejną nową ramk....
10 styczeń 2022, 22:21
Mam ramkę danych z danymi szeregów czasowych, df1, z której muszę wyodrębnić kilka „okien” w R. Punkty początkowe i końcowe dla potrzebnych okien znajdują się w dwóch kolumnach oddzielnej ramki danych, df2. Wartości punktów początkowych i końcowych odpowiadają numerom rzędów wymaganych okien. W po....
9 styczeń 2022, 18:06
Mam kilka plików RData (1.RData, 2.RData... 100.RData), wszystkie zawierające trzy elementy listy: "X", "Y" i "Z". Na liście Z znajduje się ramka danych, którą chcę wczytać do R w zagnieżdżonym tibble. Mój podstawowy sposób na odczytywanie wielu plików nie jest oczywiście dobry: library(tidyverse) ....
6 styczeń 2022, 13:39
Pracuję z ramką danych (nazwij ją full_df), która zawiera linki, których chcę użyć do zeskrobania dwóch dalszych linków. Oto przykład ramki danych: structure(list(CIK = c("1082339", "1276755", "1280511"), COMPANY_NAME = c("COLDSTREAM CAPITAL MANAGEMENT INC", "CHELSEA COUNSEL CO", "QUANTUM CAPITAL ....
2 styczeń 2022, 00:07
Załóżmy, że mam zbiór danych ze zwykłej szkoły, w której uczniowie z różnych obszarów życia są testowani z matematyki, języka angielskiego i nauk ścisłych. Musisz powtórzyć test, jeśli Twój wynik jest 1SD poniżej średniej, a przegrasz, jeśli Twój wynik jest 2SD poniżej średniej. Mogę łatwo obliczyć....
26 grudzień 2021, 01:07