2017-07-24 5 views
-3

ich einen Datensatz haben wie:entfernen spezifische Zelle aus einem Datensatz in r

A    B        C 
    hello   Radiation therapy    NA 
    Hello1   hello2 for neurology   hello3 radiation 

und viele weitere Reihen.

Jetzt habe ich vor, den ganzen Text nach "für" wie für "Neurologie" und auch den ganzen Text zu entfernen, der "Strahlung" enthält. Also habe ich den Ausgang erwarte zu sein:

A    B       C 
    hello   therapy      NA 
    Hello1   hello2      hello3 

Antwort

0

Beispiel Datenrahmen:

df <- data.frame(B = c("Radiation therapy", "hello2 for neurology")) 

Dann wird der Code auf sub aus den Saiten Sie von der B-Säule des Datenrahmens wollen:

df$B <- gsub("Radiation | for.*", "", df$B) 
0

Versuchen Sie Folgendes.

dat <- 
structure(list(A = c("hello", "Hello1"), B = c("Radiation therapy", 
"hello2 for neurology"), C = c(NA, "hello3 radiation")), .Names = c("A", 
"B", "C"), row.names = c(NA, -2L), class = "data.frame") 

dat[] <- lapply(dat, function(x) gsub("radiation|for.*", "", x, ignore.case = TRUE)) 
dat 
     A  B  C 
1 hello therapy <NA> 
2 Hello1 hello2 hello3 
Verwandte Themen