Articles of plyr

Por que o plyr é tão lento?

Eu acho que estou usando plyr incorretamente. Alguém poderia me dizer se é um código plyr “eficiente”? require(plyr) plyr <- function(dd) ddply(dd, .(price), summarise, ss=sum(volume)) Um pequeno contexto: tenho alguns problemas de agregação grandes e notei que cada um demorava algum tempo. Na tentativa de resolver os problemas, fiquei interessado no desempenho de vários procedimentos […]

R: acelerar as operações de “grupo por”

Eu tenho uma simulação que tem um enorme agregado e combina passo a passo no meio. Eu prototipou esse processo usando a function ddly () do plyr, que funciona muito bem para uma grande porcentagem das minhas necessidades. Mas eu preciso que essa etapa de agregação seja mais rápida, já que tenho que executar simulações […]

Como replace NA pela média por subconjunto em R (impute with plyr?)

Eu tenho um dataframe com os comprimentos e larguras de vários artrópodes das entranhas de salamandras. Como algumas tripas tinham milhares de itens de presas, eu medi apenas um subconjunto de cada tipo de presa. Agora quero replace cada indivíduo não medido pelo comprimento e largura médios dessa presa. Eu quero manter o dataframe e […]

O que significa o ponto em R – preferência pessoal, convenção de nomenclatura ou mais?

Eu não estou (provavelmente) referindo-me às “todas as outras variables” significando como var1~. Aqui. Fui apontado para plyr mais uma vez e olhei em mlply e me perguntei por que os parâmetros são definidos com ponto inicial como este: function (.data, .fun = NULL, …, .expand = TRUE, .progress = “none”, .parallel = FALSE) { […]

Existe uma function R que aplica uma function a cada par de colunas?

Muitas vezes preciso aplicar uma function a cada par de colunas em um dataframe / matriz e retornar os resultados em uma matriz. Agora eu sempre escrevo um loop para fazer isso. Por exemplo, para fazer uma matriz contendo os valores p de correlações, escrevo: df <- data.frame(x=rnorm(100),y=rnorm(100),z=rnorm(100)) n <- ncol(df) foo <- matrix(0,n,n) for […]

Agregar um quadro de dados com base em pares não ordenados de colunas

Eu tenho um dataset que é algo como isto: id1 id2 size 1 5400 5505 7 2 5033 5458 1 3 5452 2873 24 4 5452 5213 2 5 5452 4242 26 6 4823 4823 4 7 5505 5400 11 Onde id2 e id2 são nós únicos em um gráfico, e size é um valor […]

Como strsplit diferente número de seqüências de caracteres em determinada coluna por fazer function

Eu tenho um problema com o valor da coluna dividida quando o elemento da coluna tem um número diferente de seqüências de caracteres. Eu posso fazer isso em plyr, por exemplo: library(plyr) column <- c("jake", "jane jane","john john john") df <- data.frame(1:3, name = column) df$name <- as.character(df$name) df2 <- ldply(strsplit(df$name, " "), rbind) View(df2) […]

Aplicando uma function para cada linha de uma tabela usando dplyr?

Ao trabalhar com plyr , muitas vezes achei útil usar adply para funções escalares que eu tenho que aplicar a cada linha. por exemplo data(iris) library(plyr) head( adply(iris, 1, transform , Max.Len= max(Sepal.Length,Petal.Length)) ) Sepal.Length Sepal.Width Petal.Length Petal.Width Species Max.Len 1 5.1 3.5 1.4 0.2 setosa 5.1 2 4.9 3.0 1.4 0.2 setosa 4.9 3 […]

dplyr: “Erro na function n (): não deve ser chamado diretamente”

Eu estou tentando reproduzir um dos exemplos no pacote dplyr mas esta mensagem de erro. Espero ver uma nova coluna n produzida com a frequência de cada combinação. Alguém pode me dizer o que estou perdendo? Eu triplo verifiquei que o pacote está carregado. Obrigado pela ajuda, como sempre. library(dplyr) # summarise peels off a […]

dplyr resume: Equivalente de “.drop = FALSE” para manter grupos com comprimento zero na saída

Ao usar o summarise com a function ddply do ddply , as categorias vazias são descartadas por padrão. Você pode alterar esse comportamento adicionando .drop = FALSE . No entanto, isso não funciona ao usar summarise com dplyr . Existe outra maneira de manter categorias vazias no resultado? Aqui está um exemplo com dados falsos. […]