Grstats Forum

R_function-Πως να καλέσω στοιχεία δίχως να τα εμφανίσει ?

Επισκόπηση προηγούμενης Θ.Ενότητας Επισκόπηση επόμενης Θ.Ενότητας Πήγαινε κάτω

R_function-Πως να καλέσω στοιχεία δίχως να τα εμφανίσει ?

Δημοσίευση από philippos371 Την / Το Παρ 30 Σεπ 2016 - 16:28

Καλησπέρα ! Θα ήθελα την βοήθεια σας σε ένα πρόβλημα γύρω από την R, και την κατασκευή συναρτήσεων.
Έστω κάποια δικιά μας συνάρτηση στην R. Γνωρίζουμε ότι υπάρχει : Όνομα, παράμετροι , το main body των εντολών και το return(), έτσι ώστε να δούμε τα αποτελέσματα.
Αυτό που θέλω είναι, να καλέσω ένα στοιχείο από το main body, δίχως όμως να το εμφανίσω στα return (π.χ. να το καλέσω με το δολάριο). Για παράδειγμα στην εντολή m<-lm(y~x), μπορώ να καλέσω τα κατάλοιπα της παλιδρόμησης ως m$res, όπου αυτά δεν εμφανίζονται με την lm(y~x). Στην δικιά μου περίπτωση που αφορά προσομείωση, εντος της συνάρτησης (ας την ονομάσουμε f ) , παράγω τυχαίο δείγμα (έστω S), εκτελώ διάφορες εντολές και εμφανίζω κάποια αποτελέσματα. Αυτό που θέλω είναι να καλέσω το δείγμα, δίχως να το εμφανίσω.

philippos371

Posts : 3
Join date : 30/09/2016

Επιστροφή στην κορυφή Πήγαινε κάτω

Απ: R_function-Πως να καλέσω στοιχεία δίχως να τα εμφανίσει ?

Δημοσίευση από barney84 Την / Το Κυρ 2 Οκτ 2016 - 15:24

Κώδικας:
test=function()
{
a=runif(15,1,30)
b=rgamma(15,1,30)
c=data.frame(proti=a,defteri=b)
return(c)
}


test()$defteri
Κάπως έτσι, επιστρέφεις ένα data frame στο οποίο μετά επιλέγεις ότι θέλεις να δείξεις με την ονομασία που του δψσες. Προσοχή άμα έχεις διαφορετικά μεγέθη πως θα επηρεάζει τον πίνακα. Δηλαδή θα θέλει λίγη δουλειά πρώτα ώστε να μπορεί να δουλέχει σωστά.
avatar
barney84

Posts : 18
Join date : 25/01/2014

Επιστροφή στην κορυφή Πήγαινε κάτω

Απ: R_function-Πως να καλέσω στοιχεία δίχως να τα εμφανίσει ?

Δημοσίευση από philippos371 Την / Το Κυρ 2 Οκτ 2016 - 17:07

Ευχαριστώ πολύ ! Αλλά αν πατήσω την εντολή test() , πάλι μου επιστρέφει τα δύο αποτελέσματα . Γίνετε να μου επιστρέψει, όσον αφορά το παράδειγμα,
πατώντας την εντολή test() μόνο το διάνυσμα a=proti χωρίς το b=deuteri, και κατόπιν δικιάς μου επιλογής μετά,  να εμφανίσει την b=deuteri ως test()$deuteri ;

philippos371

Posts : 3
Join date : 30/09/2016

Επιστροφή στην κορυφή Πήγαινε κάτω

Απ: R_function-Πως να καλέσω στοιχεία δίχως να τα εμφανίσει ?

Δημοσίευση από barney84 Την / Το Δευ 3 Οκτ 2016 - 18:57

Κώδικας:
Σου γράφω μια βελτίωση αν κ δεν ξέρω αν βολεύει
   test=function()
   {
   a=runif(15,1,30)
   b=rgamma(15,1,30)
   c=list(proti=a,defteri=b)
   print(c$proti)
return(c)
   }

a=test()
   test()$defteri
Ουσιαστικα κάνει print αυτό που θες να βλέπεις, αλλά βλέπεις και τα άλλα ξεχωριστά αν θες
avatar
barney84

Posts : 18
Join date : 25/01/2014

Επιστροφή στην κορυφή Πήγαινε κάτω

Απ: R_function-Πως να καλέσω στοιχεία δίχως να τα εμφανίσει ?

Δημοσίευση από R4ever Την / Το Τρι 4 Οκτ 2016 - 13:28

Prepei na grapseis mia print method gia tin synartisi, eite S3 or S4, p.x.,

Κώδικας:

foo <- function (x, y) {
  out <- list("sum" = x + y, "prod" = x * y)
  class(out) <- "foo"
  out
}

print.foo <- function (x, ...) {
  print(x$sum)
  invisible()
}

foo(1:3, 4:6)
foo(1:3, 4:6)$prod
avatar
R4ever

Posts : 44
Join date : 20/01/2010
Age : 37

Επιστροφή στην κορυφή Πήγαινε κάτω

Απ: R_function-Πως να καλέσω στοιχεία δίχως να τα εμφανίσει ?

Δημοσίευση από philippos371 Την / Το Πεμ 6 Οκτ 2016 - 11:01

Σας ευχαριστώ πολύ !!

philippos371

Posts : 3
Join date : 30/09/2016

Επιστροφή στην κορυφή Πήγαινε κάτω

Επισκόπηση προηγούμενης Θ.Ενότητας Επισκόπηση επόμενης Θ.Ενότητας Επιστροφή στην κορυφή


 
Δικαιώματα σας στην κατηγορία αυτή
Δεν μπορείτε να απαντήσετε στα Θέματα αυτής της Δ.Συζήτησης