Não sei como são chamadas essas tramas e, portanto, dei um título estúpido a essa pergunta.
Digamos que eu tenha um conjunto de dados ordenado da seguinte maneira
4253 4262 4270 4383 4394 4476 4635 ...
Cada número corresponde à quantidade de postagens que um determinado usuário contribuiu para um site. Estou investigando empiricamente o fenômeno da "desigualdade de participação", conforme definido aqui .
Para facilitar a compreensão, eu gostaria de produzir um gráfico que permita ao leitor deduzir rapidamente declarações como "10% dos usuários contribuem com 50% dos dados". Provavelmente deve ser parecido com esse esboço de tinta reconhecidamente bastante ruim:
Eu não tenho idéia de como isso é chamado, portanto, não sei onde procurar. Além disso, se alguém tivesse uma implementação R
, isso seria incrível.
fonte
ecdf
noR
para um começo. O termo é "função de distribuição cumulativa empírica". Você também pode estar interessado em "gráficos de probabilidade" e "gráficos de QQ": são versões do ECDF mostrando os dados em diferentes escalas (não lineares).ecdf
e já o usei antes, mas da maneira "clássica" que o eixo x mostra o número de postagens e o eixo y sua probabilidade. Eu não sei como fazer algo como acima.Respostas:
Se você quiser fazer isso simplesmente com os
R
comandos básicos , os seguintes códigos podem ajudar.Primeiro você lê os dados.
Então você pode ver a contribuição de cada usuário.
Você também pode ver quanto as duas, três, quatro, ..., sete pessoas contribuem.
Finalmente, você pode obter o gráfico desejado (em proporções nos dois eixos) pelos seguintes comandos:
Eu rotulei os eixos como você queria. Pode fornecer uma visão clara de quanto percentual de dados está sendo contribuído por uma certa proporção de pessoas.
fonte
Encontrei uma maneira de visualizar rapidamente a curva de Lorenz
ggplot2
, resultando em um gráfico mais estético e mais fácil de interpretar. Por esse último motivo, espelhei a curva de Lorenz na linha diagonal que resulta em uma forma mais intuitiva, se você me perguntar. Ele também contém linhas de anotação que devem facilitar a explicação do gráfico (por exemplo, "Os 5% principais usuários contribuintes representam 50% dos dados"). Atenção: Encontrar o local certo para a linha de anotação faz uso de uma heurística bastante idiota e pode não funcionar com um conjunto de dados menor.Dados de exemplo:
Código:
fonte
Mais duas maneiras de fazer isso, como eu estava trabalhando recentemente para ensaios clínicos de vacinas:
1.Use Hmisc Ecdf. Isso é simples e detalha, embora seja um pouco difícil descobrir detalhes sobre a alteração de diferentes elementos do gráfico.
2.Calcular a distribuição cumulativa e, em seguida, 1-acumulativo é cumulativo reverso. Plote o inverso usando ggplot2 usando geom_step se você gosta de uma função de etapa no gráfico. A função abaixo usaria ecdf da base r para fornecer distribuição cumulativa e, em seguida, 1 acumulativa:
acima, o rcdf é uma função definida pelo usuário, definida usando ecdf.
fonte