Sto provando a modificare un data.frame filtrato da dplyr ma non riesco a capire cosa devo fare. Nell'esempio seguente, sto provando a filtrare il frame dati z e poi a assegnare un nuovo valore alla terza colonna: ne fornisco due esempi, uno con "9" e uno con "NA".Come assegnare un valore a un data.frame filtrato da dplyr?
require(dplyr)
z <- data.frame(w = c("a", "a", "a", "b", "c"), x = 1:5, y = c("a", "b", "c", "d", "e"))
z %>% filter(w == "a" & x == 2) %>% select(y)
z %>% filter(w == "a" & x == 2) %>% select(y) <- 9 # Should be similar to z[z$w == "a" & z$ x == 2, 3] <- 9
z %>% filter(w == "a" & x == 3) %>% select(y) <- NA # Should be similar to z[z$w == "a" & z$ x == 3, 3] <- NA
Eppure, non funziona: ricevo il seguente messaggio di errore:
"Errore nella z%>% filtro (w == "a" & x == 3)% >% select (y) < - NA: impossibile de trouver la fonction "%>% < -"
so che posso usare la vecchia notazione data.frame, ma quale sarebbe la soluzione per dplyr?
Grazie!
Il tuo 'y' è una colonna di caratteri. Che cosa stai facendo assegnando '9' ad esso? – Frank