Van itt valaki aki tud R-ben programot írni?
Most túl késő van, de amúgy érdekelne.
Az alaptípusokhoz Solymosi R jegyzetét ajánlom. Ott meglátod, hogy mit jelent a c().Logikai érték kell, meg számok.
Én azt is tárolnám vagy számmal, vagy logikai értékkel, hogy call vagy put opció-e, mert lehet, hogy másként kell számítani az árat.
A megadott példában ez szerepel:
# define an S4 class for people
setClass(
"Person", #az osztály neve
representation(name="character", age="numeric"), #az adattagok alapértelmezett értékeikkel
prototype(name=NA_character_, age=NA_real_) #az adattagok típusai; neked a numeric (szám) és a logical (logikai) kell
)
R-ben három logikai érték van: a TRUE, a FALSE és a NULL. Ezt kihasználhatjuk arra, hogy érvényesítve van-e az opció. A típus (call vagy put) tárolására használt logikai értékhez használd a TRUE és a FALSE értékeket.
Az opciónak ki kell számítani az árát.
# create a generic method called 'talent' that
# dispatches on the type of object it's applied to
setGeneric(
"talent", #a függvény neve
function(object) { #a függvény törzse
standardGeneric("talent")
}
)
Ha tanultál már egy C szerű nyelvet, akkor a szintaxis nagy része ismerős lesz. Itt most adok egy példát arra, hogy néznek ki a vezérlési szerkezetek:
queue2 <- function(n, aRate, sRate){
if (n <= 0) {return (0)}
else {
vec <- c(1:n)
vec[1] <- 0
for (i in 2:n){
ls <- rpois(1, sRate)
la <- rpois(1, aRate)
vec[i] = max(0, (vec[i-1] + ls - la))
}
return (vec)
}
}
A behúzások nem fontosak, a blokkokat kapcsos zárójelek határolják. Sor végére tehetők pontosvesszők. Egy sorba több utasítás is írható. Az indexelést a legtöbb nyelvtől eltérően 1-től kezdi. Erre ügyelni kell.
A fenti részben hibás az a megjegyzés, hogy a függvény törzse. Valójában azt a sort ne változtasd.
setMethod(
"talent", #a generic neve
signature("Musician"), #itt az osztály nevét kell megadni
function(object) { #ide írd a függvénytörzset
paste("Plays the",
paste(object@instrument, collapse=", "))
}
)
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!