Problema con la funzione fanny in R
Ciao. Ho un problema con la funzione fanny di R.
Infatti vorrei applicare il metodo fuzzy c means con questo codice ma non riesco a farlo:
Il codice è:
“require(cluster)
data1 <- read.table(file='C:\\Users\\Alberto\\Desktop\\Fuzzy_Clustering\\Dati_SPSS_Cluster_1.csv', sep=',', header=T)
x <- as.matrix(data1)
fanny(x, 2, memb.exp = 2,metric = c("euclidean"),stand = FALSE,maxit = 500, tol = 1e-15, trace.lev = 0)”
La replica del programma all’invio su questo codice è:
“Error in fanny(x, 2, memb.exp = 2, metric = c("euclidean"), stand = FALSE, : x is not a numeric dataframe or matrix.”
Quale potrebbe essere il problema?
Come se x, che è la variabile a cui ho assegnato il valore “data1” cioè il file di Excel in formato csv che contiene il dataset delle osservazioni, non fosse una matrice. In realtà è una matrice perché è la conversione in matrice del dataset numerico data1. Almeno dovrebbe esserlo. Infatti il comando as.matrix non serve a questo?
Infatti vorrei applicare il metodo fuzzy c means con questo codice ma non riesco a farlo:
Il codice è:
“require(cluster)
data1 <- read.table(file='C:\\Users\\Alberto\\Desktop\\Fuzzy_Clustering\\Dati_SPSS_Cluster_1.csv', sep=',', header=T)
x <- as.matrix(data1)
fanny(x, 2, memb.exp = 2,metric = c("euclidean"),stand = FALSE,maxit = 500, tol = 1e-15, trace.lev = 0)”
La replica del programma all’invio su questo codice è:
“Error in fanny(x, 2, memb.exp = 2, metric = c("euclidean"), stand = FALSE, : x is not a numeric dataframe or matrix.”
Quale potrebbe essere il problema?
Come se x, che è la variabile a cui ho assegnato il valore “data1” cioè il file di Excel in formato csv che contiene il dataset delle osservazioni, non fosse una matrice. In realtà è una matrice perché è la conversione in matrice del dataset numerico data1. Almeno dovrebbe esserlo. Infatti il comando as.matrix non serve a questo?
Risposte
Potrebbero esserci dei valori non numerici in x, infatti il messaggio dice che x non é un dataframe o matrice numerica.
Probabilmente importando i dati da excel ti sarai tirato dietro qualche NA o valore di tipo char. Prova a controllare...
Probabilmente importando i dati da excel ti sarai tirato dietro qualche NA o valore di tipo char. Prova a controllare...
Ti ringrazio tantissimo per l'aiuto.
In effetti ci sono dei valori numerici. Sono le intestazioni delle colonne numeriche in Excel. Allora cosa faccio?
In effetti ci sono dei valori numerici. Sono le intestazioni delle colonne numeriche in Excel. Allora cosa faccio?
Ti ringrazio tantissimo per l’aiuto.
In effetti ci sono le intestazioni delle colonne numeriche. Come faccio ad eliminarle?
Le elimino direttamente dal file Excel? Oppure?
In effetti ci sono le intestazioni delle colonne numeriche. Come faccio ad eliminarle?
Le elimino direttamente dal file Excel? Oppure?
Hai provato a passargli direttamente "data1" (cioé senza fare as.matrix) ? Perché data1 é giá un data frame, quindi magari funziona... non ho capito dove sono le intestazioni delle colonne, solo nella prima riga?
Perfetto! Ora funziona! Grazie!
Ora una curiosità a questo punto.
Io ho trovato in un documento su Internet la funzione as. matrix per convertire il dataframe in una matrice. A cosa serve?
Mi chiedo a che serva visto che basta leggere la tavola con read.table ed è già una matrice.
Oltretutto mi ha fatto pure sbagliare.
Ora una curiosità a questo punto.
Io ho trovato in un documento su Internet la funzione as. matrix per convertire il dataframe in una matrice. A cosa serve?
Mi chiedo a che serva visto che basta leggere la tavola con read.table ed è già una matrice.
Oltretutto mi ha fatto pure sbagliare.
La funzione as.matrix rende una matrice ció che non lo é secondo R. Se hai un vettore di 100 valori ad esempio, puoi salvarlo come una matrice 10x10 con il comando as.matrix(...) specificandogli le dimensioni. Questo é solo un esempio... ci sono tanti altre occasioni in cui puó essere utile...