ho una funzione f
che accetta due parametri (p1
e p2
):test se un argomento di una funzione è impostata oppure no nella R
Se per il parametro p2
nessun valore è stato passato alla funzione, il valore di p1
^2 dovrebbe invece essere usato. Ma come posso scoprire all'interno della funzione, se un valore è dato o meno. Il problema è che la variabile p2
non è inizializzata se non c'era alcun valore. Quindi non posso provare per p2
NULL
.
f <- function(p1, p2) {
if(is.null(p2)) {
p2=p1^2
}
p1-p2
}
E 'in qualche modo possibile per verificare se un valore per p2
è stato passato alla funzione o no? (Non sono riuscito a trovare una funzione isset()
o simile.)
+1 per il 'alternativa di default NULL'. Ri: l'EDIT che hai aggiunto, come passeresti "missing''ness attraverso la funzione wrapper? –
@ JoshO'Brien Passare "missing'-ness on è complicato AFAIK - ma possibile. Ecco perché 'NULL' è molto più facile in questo caso. – Tommy
... Quindi una domanda separata potrebbe essere giustificata per il superamento di "missing'-ness on. – Tommy