Delete character from entire data frame

I have a data block with various columns. Some of the data in some columns contains double quotes, I want to remove them, for example:

ID name value1 value2 "1 xa,"b,"cx" "2 yd,"r" z" 

I want it to look like this:

 ID name value1 value2 1 xa,b,cx 2 yd,rz 
+6
source share
2 answers

I would use lapply to loop lapply columns and then replace " with gsub .

 df1[] <- lapply(df1, gsub, pattern='"', replacement='') df1 # ID name value1 value2 #1 1 xa,b,cx #2 2 yd,rz 

and if necessary, the class can be changed using type.convert

 df1[] <- lapply(df1, type.convert) 

data

 df1 <- structure(list(ID = c("\"1", "\"2"), name = c("x", "y"), value1 = c("a,\"b,\"c", "d,\"r\""), value2 = c("x\"", "z\"")), .Names = c("ID", "name", "value1", "value2"), class = "data.frame", row.names = c(NA, -2L)) 
+8
source

One option is to use apply() along with the gsub() function to remove all double quotes:

 df <- data.frame(ID=c("\"1", "\"2"), name=c("x", "y"), value1=c("a,\"b,\"c", "d,\"r\""), value2=c("x\"", "z\"")) df <- data.frame(apply(df, 2, function(x) { x <- gsub("\"", "", x) }) > df ID name value1 value2 1 1 xa,b,cx 2 2 yd,rz 
+2
source

All Articles