Articles of r faq

Plotar duas variables ​​como linhas usando ggplot2 no mesmo gráfico

Uma pergunta muito nova, mas digamos que eu tenha dados como este: test_data <- data.frame( var0 = 100 + c(0, cumsum(runif(49, -20, 20))), var1 = 150 + c(0, cumsum(runif(49, -10, 10))), date = seq(as.Date("2002-01-01"), by="1 month", length.out=100) ) Como posso plotar as séries temporais var0 e var1 no mesmo gráfico, com a date no eixo […]

Conte o número de linhas dentro de cada grupo

Eu tenho um dataframe e gostaria de contar o número de linhas dentro de cada grupo. Eu geralmente uso a function aggregate para sumr os dados da seguinte forma: df2 <- aggregate(x ~ Year + Month, data = df1, sum) Agora, gostaria de contar as observações, mas não consigo encontrar o argumento adequado para FUN […]

Calcular a média por grupo

Eu tenho um grande quadro de dados semelhante a este: df df dive speed 1 dive1 0.80668490 2 dive1 0.53349584 3 dive2 0.07571784 4 dive2 0.39518628 5 dive1 0.84557955 6 dive1 0.69121443 7 dive1 0.38124950 8 dive2 0.22536126 9 dive1 0.04704750 10 dive2 0.93561651 Meu objective é calcular a média dos valores de uma coluna […]

Acelerar a operação de loop em R

Eu tenho um grande problema de desempenho em R. Eu escrevi uma function que itera sobre um object data.frame . Ele simplesmente adiciona uma nova coluna a um data.frame e acumula algo. (operação simples). O data.frame tem cerca de 850 data.frame linhas. Meu PC ainda está funcionando (cerca de 10h agora) e não tenho idéia […]

R gerenciamento de memory / não pode alocar vetor de tamanho n Mb

Eu estou correndo em problemas tentando usar objects grandes em R. Por exemplo: > memory.limit(4000) > a = matrix(NA, 1500000, 60) > a = matrix(NA, 2500000, 60) > a = matrix(NA, 3500000, 60) Error: cannot allocate vector of size 801.1 Mb > a = matrix(NA, 2500000, 60) Error: cannot allocate vector of size 572.2 Mb […]

Importando vários arquivos .csv para o R

Suponha que tenhamos uma pasta contendo vários arquivos data.csv, cada um contendo o mesmo número de variables, mas cada uma delas de tempos diferentes. Existe uma maneira em R para importar todos eles simultaneamente, em vez de ter que importá-los individualmente? Meu problema é que eu tenho cerca de 2000 arquivos de dados para importar […]

Localizando TODAS as linhas duplicadas, incluindo “elementos com subitens menores”

duplicated de R retorna um vetor mostrando se cada elemento de um vetor ou quadro de dados é uma duplicata de um elemento com um subscrito menor. Portanto, se as linhas 3, 4 e 5 de um quadro de dados de 5 linhas forem iguais, a duplicated me dará o vetor FALSE, FALSE, FALSE, TRUE, […]

Por que é `[` melhor que `subconjunto`?

Quando preciso filtrar um data.frame, ou seja, extrair linhas que atendem a certas condições, prefiro usar a function de subset : subset(airquality, Month == 8 & Temp > 90) Em vez da [ function: airquality[airquality$Month == 8 & airquality$Temp > 90, ] Existem duas razões principais para minha preferência: Eu acho o código lê melhor, […]

Numerando linhas dentro de grupos em um quadro de dados

Trabalhando com um quadro de dados semelhante a este: set.seed(100) df <- data.frame(cat = c(rep("aaa", 5), rep("bbb", 5), rep("ccc", 5)), val = runif(15)) df <- df[order(df$cat, df$val), ] df cat val 1 aaa 0.05638315 2 aaa 0.25767250 3 aaa 0.30776611 4 aaa 0.46854928 5 aaa 0.55232243 6 bbb 0.17026205 7 bbb 0.37032054 8 bbb 0.48377074 […]

Adicionando zeros à esquerda usando R

Eu tenho um dataset que se parece com algo assim: anim <- c(25499,25500,25501,25502,25503,25504) sex <- c(1,2,2,1,2,1) wt <- c(0.8,1.2,1.0,2.0,1.8,1.4) data <- data.frame(anim,sex,wt) data anim sex wt anim2 1 25499 1 0.8 2 2 25500 2 1.2 2 3 25501 2 1.0 2 4 25502 1 2.0 2 5 25503 2 1.8 2 6 25504 1 […]