- philippos371
- Posts : 3
Join date : 2016-09-30
R_function-Πως να καλέσω στοιχεία δίχως να τα εμφανίσει ?
Fri 30 Sep 2016 - 16:28
Καλησπέρα ! Θα ήθελα την βοήθεια σας σε ένα πρόβλημα γύρω από την R, και την κατασκευή συναρτήσεων.
Έστω κάποια δικιά μας συνάρτηση στην R. Γνωρίζουμε ότι υπάρχει : Όνομα, παράμετροι , το main body των εντολών και το return(), έτσι ώστε να δούμε τα αποτελέσματα.
Αυτό που θέλω είναι, να καλέσω ένα στοιχείο από το main body, δίχως όμως να το εμφανίσω στα return (π.χ. να το καλέσω με το δολάριο). Για παράδειγμα στην εντολή m<-lm(y~x), μπορώ να καλέσω τα κατάλοιπα της παλιδρόμησης ως m$res, όπου αυτά δεν εμφανίζονται με την lm(y~x). Στην δικιά μου περίπτωση που αφορά προσομείωση, εντος της συνάρτησης (ας την ονομάσουμε f ) , παράγω τυχαίο δείγμα (έστω S), εκτελώ διάφορες εντολές και εμφανίζω κάποια αποτελέσματα. Αυτό που θέλω είναι να καλέσω το δείγμα, δίχως να το εμφανίσω.
Έστω κάποια δικιά μας συνάρτηση στην R. Γνωρίζουμε ότι υπάρχει : Όνομα, παράμετροι , το main body των εντολών και το return(), έτσι ώστε να δούμε τα αποτελέσματα.
Αυτό που θέλω είναι, να καλέσω ένα στοιχείο από το main body, δίχως όμως να το εμφανίσω στα return (π.χ. να το καλέσω με το δολάριο). Για παράδειγμα στην εντολή m<-lm(y~x), μπορώ να καλέσω τα κατάλοιπα της παλιδρόμησης ως m$res, όπου αυτά δεν εμφανίζονται με την lm(y~x). Στην δικιά μου περίπτωση που αφορά προσομείωση, εντος της συνάρτησης (ας την ονομάσουμε f ) , παράγω τυχαίο δείγμα (έστω S), εκτελώ διάφορες εντολές και εμφανίζω κάποια αποτελέσματα. Αυτό που θέλω είναι να καλέσω το δείγμα, δίχως να το εμφανίσω.
- barney84
- Posts : 19
Join date : 2014-01-25
Re: R_function-Πως να καλέσω στοιχεία δίχως να τα εμφανίσει ?
Sun 2 Oct 2016 - 15:24
- Code:
test=function()
{
a=runif(15,1,30)
b=rgamma(15,1,30)
c=data.frame(proti=a,defteri=b)
return(c)
}
test()$defteri
- philippos371
- Posts : 3
Join date : 2016-09-30
Re: R_function-Πως να καλέσω στοιχεία δίχως να τα εμφανίσει ?
Sun 2 Oct 2016 - 17:07
Ευχαριστώ πολύ ! Αλλά αν πατήσω την εντολή test() , πάλι μου επιστρέφει τα δύο αποτελέσματα . Γίνετε να μου επιστρέψει, όσον αφορά το παράδειγμα,
πατώντας την εντολή test() μόνο το διάνυσμα a=proti χωρίς το b=deuteri, και κατόπιν δικιάς μου επιλογής μετά, να εμφανίσει την b=deuteri ως test()$deuteri ;
πατώντας την εντολή test() μόνο το διάνυσμα a=proti χωρίς το b=deuteri, και κατόπιν δικιάς μου επιλογής μετά, να εμφανίσει την b=deuteri ως test()$deuteri ;
- barney84
- Posts : 19
Join date : 2014-01-25
Re: R_function-Πως να καλέσω στοιχεία δίχως να τα εμφανίσει ?
Mon 3 Oct 2016 - 18:57
- Code:
Σου γράφω μια βελτίωση αν κ δεν ξέρω αν βολεύει
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
- R4ever
- Posts : 44
Join date : 2010-01-20
Age : 44
Re: R_function-Πως να καλέσω στοιχεία δίχως να τα εμφανίσει ?
Tue 4 Oct 2016 - 13:28
Prepei na grapseis mia print method gia tin synartisi, eite S3 or S4, p.x.,
- Code:
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
- philippos371
- Posts : 3
Join date : 2016-09-30
Re: R_function-Πως να καλέσω στοιχεία δίχως να τα εμφανίσει ?
Thu 6 Oct 2016 - 11:01
Σας ευχαριστώ πολύ !!
Permissions in this forum:
You cannot reply to topics in this forum