Ας υποθέσουμε πως έχουμε στη διάθεσή μας ένα αρχείο υπολογιστικού φύλλου (τύπου excel) το οποίο αποτελείται από τρείς στήλες. Στην πρώτη στήλη είναι το όνομα του είδους, στην δεύτερη και τρίτη οι συντεταγμενες X και Y αντίστοιχα. Έχουμε επίσης ένα ακόμη αρχείο με ορισμένα είδη τα οποία θέλουμε να βρούμε τις συντεταγμένες τους και να τις εξάγουμε σε ένα νέο αρχείο.

Το πρόβλημα αυτό μπορεί να αντιμετωπιστεί με πολλούς τρόπους, εδώ θα παρουσιάσω την λύση που μπορεί να δώσει η R.

# Αρχικά ας δημιουργήσουμε μερικά τυχαία δεδομένα. Τα οποία προφανώς και
# θα έχουμε στην διάθεσή μας σε κάποια μορφή αρχείου, καλό θα ήταν να 
# είναι σε τύπο αρχείου comma-seperated values (.csv) 

# Δημιουργία λίστας ειδών
species.dat <- c("fagus_sylvatica", "quercus_fraineto", "castanea_sativa", 
             "quercus_ilex", "ilex_aquifolium", "abies_alba")
# Δημιουργία τυχαίων συντεταγμένων Longitude
long<- c(40.2563, 52.5898, 41.2011, 74.2200, 41.6600, 52.3669)

# Δημιουργία τυχαίων συντεταγμένων Latitude
lat <- c(20.1141, 10.1000, 14.2563, 11.7441, 13.5887, 16.7445)

# Δημιουργία του data.frame 
file1 <- data.frame(species = species.dat, long, lat)

# Προβολή του data.frame στην κονσόλα 
file1
##            species    long     lat
## 1  fagus_sylvatica 40.2563 20.1141
## 2 quercus_fraineto 52.5898 10.1000
## 3  castanea_sativa 41.2011 14.2563
## 4     quercus_ilex 74.2200 11.7441
## 5  ilex_aquifolium 41.6600 13.5887
## 6       abies_alba 52.3669 16.7445
# Δημιουργία του αρχείου των ειδών που θα αναζητήσουμε
file2 <- data.frame(species = c("fagus_sylvatica", "castanea_sativa"))

# Προβολή του data.frame προς αναζήτηση στην κονσόλα
file2
##           species
## 1 fagus_sylvatica
## 2 castanea_sativa
# Η λύση στο προβλημα που θέσαμε αρχικά είναι η παρακάτω
result <- file1[file1$species %in% file2$species,]

# Προβολή του αποτελέσματος
result
##           species    long     lat
## 1 fagus_sylvatica 40.2563 20.1141
## 3 castanea_sativa 41.2011 14.2563
# Εξαγωγή του αποτελέσματος σε αρχείο .csv
write.csv(result, file = "results.csv")

Προσοχή θα πρέπει να δωθεί στην ορθογραφία των ειδών που θέλουμε να αναζητήσουμε, θα πρέπει να είναι όμοια με εκείνη του πρώτου αρχείου.



Comments

comments powered by Disqus