Open laravidmar opened 3 years ago
Kolikor vidim, postavljanje najbližje in najbolj oddaljene točke na pravo mesto ne deluje pravilno, saj primerjata koordinate z indeksi (npr. x != a
). Če želita najbližjo točko postaviti na prvo mesto, lahko naredita enostavno
x <- c(x[najblizja], x[-najblizja])
y <- c(y[najblizja], y[-najblizja])
Na podoben način lahko premakneta tudi najbolj oddaljeno točko.
Sicer pa, kolikor vidim, do napake pride v primeru, ko je v grafu ena sama povezava. Da dosežeta, da funkcija oceti_in_sinovi
vrača ustrezno matriko, jo končajta tako:
return(matrix(matrika_oce_sin, ncol=3))
Še to: pazita, da po nepotrebnem ne kličeta funkcij večkrat - npr. v pretvorba_v_igraph
kličeta oceti_in_sinovi
dvakrat, a bi lahko utezi
dobila že iz spremenljivke povezave
. Število vrstic in stolpcev matrike lahko dobita s funkcijama nrow
in ncol
- tako vama ni potrebno koreniti dolžine matrike, da dobita število vozlišč v grafu (ta pristop je potencialno numerično nestabilen).
Hvala za odgovor. Lep pozdrav
Pozdravljeni, zopet imava težavo in sicer v datoteki pretok.R. Imava napisano funkcijo igraf_razdalje_so_utezi, ki naj bi naredila igraph tako, da je prva točka tista, ki je najbližje izhodišču, zadnja pa najbolj oddaljena od izhodišča. Težava nastopi, ko poženeva funkcijo tabela_odstrani_tocke_geom iz datoteke generiranje_podatkov.R. Preden sva popravila začetno in končno točko (najbližja izhodišču = 1, najdlje od izhodišča = max številu točk) v igraf_razdalje_so_utezi je funkcija tabela_odstrani_tocke_geom v večini primerih delala. Ta funkcija je skoraj identična tabela_odstrani_tocke, katera dela, pri navadni pretvorbi v igraph, pri geomtrijskih pa ne. Napako nama javlja kot: Error in oceti_in_sinovi(matrika)[, 3] : incorrect number of dimensions.
Hvala za pomoč, lep pozdrav Žan Kastelic in Lara Vidmar