Supponiamo che io abbia una lista:
alist<- list(4,6,8,9)
Voglio testare se ogni elemento dell'elenco è maggiore di 7 e restituire un elenco di 1 se è vero e 0 se falso.
Comunque devo usare lapply.
lapply(alist,if,>7,1) or lapply(alist,if,cond>7,1)
Ovviamente nessuno di questi funziona e continuo a ricevere il seguente errore.
Error: unexpected "," in "lapply(alist, if,"
risposte:
18 per risposta № 1Mi addolora rispondere a questa domanda perché è molto razionale. Puoi provare ad essere più esplicito e usare parentesi come in:
lapply(alist, function(x) if (x > 7) {1} else {0})
O il vettorizzato ifelse
lapply(alist, function(x) ifelse(x > 7, 1, 0))
O meglio di tutti:
as.numeric(alist > 7)
2 per risposta № 2
Altri due:
lapply(alist > 7, as.integer)
o
lapply(alist > 7, ifelse, 1, 0)