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 ().
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.....
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_),
....
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'))....
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....
1
Jak dołączyć nazwę pliku wejściowego dostarczoną do funkcji w wynikowej nazwie kolumny wyjściowej?
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....
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,....
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 × ....
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....
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....
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....
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....
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,
....
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....
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....
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), ....
1
Prześlij wynik z map_dfr do kolejnego map_dfr, aby zastosować niestandardową funkcję do grup danych
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ż....
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....
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....
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....
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....
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)
....
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 ....
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ć....