
Oi, Daniel Muito obrigada pela ajuda e seu tempo. Ajudou a esclarecer bastante coisa! Irei verificar outros métodos de agrupamento como você sugeriu. Abraçi Em sex., 20 de jan. de 2023 às 13:34, Daniel Guimarães Tiezzi < dtiezzi@usp.br> escreveu:
Boa tarde Chiara
Desculpe por sugerir transpor a matriz. Eu interpretei de forma equivocada a sa questão.
O tipo de organização que você está querendo fazer não vai acontecer. O algoritmo de clusterização que está usando é não supervisionado e ele irá agrupar cada pessoa que respondeu o questionário de acordo com a distância entre eles.
No caso da cidade o exemplo agrupou por cidades pois havia uma linha para cada cidade com vários atributos. Você têm uma linha com vários atributos para cada pessoa. As pessoas pertencem ao mesmo grupo. O que você pode fazer é aplicar um algoritmo supervisionado, já que você sabe de qual grupo a pessoa pertence. Ou, como são dois grupos, verificar se a clusterização separa as pessoas nos dois grupos de forma eficaz.
Por exemplo: df <- read.csv('~/Downloads/Questionários cluster.xlsx - Agrupamento.csv') head(df) dim(df) table(df$X) head(df[,-c(1,2)]) # Ward Hierarchical Clustering d <- vegan::vegdist(df[,-c(1,2)],distance="jaccard")# distance matrix fit <- hclust(d, method="ward.D2") groups <- cutree(fit, k=2) # draw dendogram with red borders around the 5 clusters
plot(fit) # display dendogram plot.new() rect.hclust(fit, k=2, border="red")
table(df$X, groups)
groups 1 2 COM_LOCAL 90 10 PESCADOR_ESPORTIVO 63 37
Em porcentagens:
round(prop.table(table(df$X, groups),2)*100,1) groups 1 2 COM_LOCAL 58.8 21.3 PESCADOR_ESPORTIVO 41.2 78.7
Veja que o algoritmo, de uma forma não muito eficaz, é capaz de separar os grupos baseado na resposta.
Agora, qual seria o seu teste de hipótese aqui?
Se você aplicar um um teste para verificar que a distribuição dos casos na tabela é uniforme ou não:
chisq.test(df$X, groups)
Pearson's Chi-squared test with Yates' continuity correction
data: df$X and groups X-squared = 18.801, df = 1, p-value = 1.451e-05
Vai notar que você deveria rejeitar a H0.
Mas depende muito do que você está investigando e qual é a sua hipótese.
Outra questão é verificar se o método de cálculo de distância é aplicável para as suas variável e se o Ward.D é o melhor método de agrupamento. Aparentemente as suas variáveis são categóricas.
Espero ter ajudado.
Daniel
---------------------------------------------------------------- Daniel Tiezzi, MD, PhD Oncologia / Mastologia Professor Associado - Livre Docente Departamento de Ginecologia e Obstetrícia Setor de Mastologia e Oncologia Ginecológica Faculdade de Medicina de Ribeirão Preto - USP Tel.: 16 3602-2488 https://github.com/dtiezzi http://danieltiezzi.pro.br e-mail: dtiezzi@usp.br
On 20 Jan 2023, at 10:49, Chiara Lubich <lubichchiara@gmail.com> wrote:
Oi, Daniel, obrigada pelo retorno
Eu fiz a transposição, no entanto a organização fica em função dos objetos (importância, recurso, etc). Ver imagem aqui-->acesse.one/dqXgX Eu queria que ficasse em função de quem respondeu, ou seja, os atores que estou avaliando (pescador e comunidade). Pois quero ver se esses atores têm a mesma opinião sobre o ambiente, visto que um é visitante e outro é residente do local.
Como você pode ver na tabela tenho 200 linhas de respostas (Pescador -> N=100 e Comunidade -> N=100). Minha tabela é essa -->encr.pw/Gs0ZK
Mas queria algo assim, mas ao invés de organizar por cidade (Barcelos, Ausentes etc) como na imagem, quero organizar por ator (pescador e comunidade) -->l1nk.dev/xHbST
Espero ter explicado melhor!
Muito obrigada e aguardo o retorno
Em ter., 17 de jan. de 2023 às 14:45, Daniel Guimarães Tiezzi < dtiezzi@usp.br> escreveu:
Fazer a transposição da matrix
daniel
On Tue, Jan 17, 2023, 3:33 PM Chiara Lubich por (R-br) < r-br@listas.c3sl.ufpr.br> wrote:
Boa tarde, pessoal
Estou com dificuldade para entender como fazer para juntar os dados e formar grupos na análise e mostrar graficamente isso.
Estou usando o seguinte banco de dados: encr.pw/Gs0ZK
Estou usando o seguinte comando: dac<-read.table("clipboard",sep="\t", header=T, dec=".", row.names=1) dac attach(dac) # Ward Hierarchical Clustering d<-vegdist(dac[,-1],distance="jaccard")# distance matrix fit <- hclust(d, method="ward.D2") plot(fit) # display dendogram groups <- cutree(fit, k=5) # cut tree into 5 clusters # draw dendogram with red borders around the 5 clusters rect.hclust(fit, k=5, border="red")
que gera esse gráfico: <image.png> No entanto, queria que formasse de acordo como nome dos grupos, semelhante a esse gráfico, mas em função dos meus dois atores avaliados (pescador e comunidade). <image.png> Só que no meu caso, ao invés de ser as cidades, são os grupos de pessoas.
Aos que puderem ajudar eu agradeço
Muito obrigada
Abraços,
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.