Problema con la funzione cmeans in R

Studente Anonimo
Studente Anonimo
Ciao a tutti. Ho un problema in R con la funzione cmeans.
Devo eseguire l’algoritmo fuzzy means con questa funzione ma ho un problema con questo codice:

"library(e1071)
data1 <- read.table(file='C:\\Users\\Alberto\\Desktop\\Fuzzy_Clustering\\Dati_SPSS_Cluster_1.csv', sep=',', header=T, row.names=1)
centers<-matrix(1:8, nrow=2)
cmeans (data1, centers, iter.max=100, verbose=FALSE, dist="euclidean",method="cmeans", m=2, rate.par = NULL)"


La risposta del programma è:

Error in cmeans(data1, centers, iter.max = 100, verbose = FALSE, dist = "euclidean", :
Must have same number of columns in 'x' and 'centers'.


Innanzitutto io non gli ho dato nessuna variabile x in pasto.
Ammesso che lui consideri la variabile x riferita al primo argomento della funzione cmeans cioè data1, non è vero che data1 non ha lo stesso numero di colonne di centers.
Infatti centers ha 4 colonne come data1. Data 1 è infatti un file numerico di excel residente nel mio pc con 50 osservazioni ognuna di 4 componenti. Quindi forma una matrice 50x4; dunque con 4 colonne.
Quale potrebbe essere il problema?
P.S. E’ un bel po’ che ci rifletto ma non riesco a trovare nessuna soluzione. Scusate se forse è un problema banale ma sono un novello di R e dunque abbiate pazienza per favore . Grazie.

Risposte
bassi0902
Hai provato a usare una matrice di prova con 4 colonne e vedere se funziona?

Io proverei cosí

x <- matrix(rnorm(100), ncol=4)
centers <- matrix(1:8, nrow=2)


e lancerei il comando con x e centers, se cosí non dovesse dare problemi allora comincerei a guardare bene data1.

Studente Anonimo
Studente Anonimo
Il problema credo di averlo risolto.
In pratica ho trasformato il file in formato txt e con il separatore "\t " riesco ad aprirlo e a farlo riconoscere come una matrice 50x4. Forse con il formato csv non va usata la virgola ma un altro separatore.
Comunque in qualche modo sono riuscito in questa maniera a lanciare l'algoritmo.
Grazie comunque.

Studente Anonimo
Studente Anonimo
Per aiutarmi ho usato questo link:

http://micheledemeo.blogspot.it/2007/10 ... excel.html

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.