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 < dtie...@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: dtie...@usp.br > > On 20 Jan 2023, at 10:49, Chiara Lubich <lubichchi...@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 < > dtie...@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. >>> >> >
_______________________________________________ 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.