I want to save string columns containing spaces or blanks with double quotes.
df <-
structure(list(type = c("menu", "item", "item", "item", "item",
"item"), menu.item = c("fileMenu", "fileMenu", "fileMenu", "fileMenu",
"fileMenu", "fileMenu"), operation.parent = c("topMenu", "command",
"separator", "command", "command", "command"), label = c("",
"Change working directory...", "", "Open script file...", "Save script...",
"Save script as..."), command.menu = c("", "Setwd", "", "loadLog",
"saveLog", "saveLogAs"), activation = c("", "", "", "", "", ""
), install. = c("", "", "", "", "", "")), .Names = c("type",
"menu.item", "operation.parent", "label", "command.menu", "activation",
"install."), row.names = c(NA, 6L), class = "data.frame"
)
df
type menu.item operation.parent label command.menu
1 menu fileMenu topMenu
2 item fileMenu command Change working directory... Setwd
3 item fileMenu separator
4 item fileMenu command Open script file... loadLog
5 item fileMenu command Save script... saveLog
6 item fileMenu command Save script as... saveLogAs
activation install.
1
2
3
4
5
6
df$label
[1] "" "Change working directory..."
[3] "" "Open script file..."
[5] "Save script..." "Save script as..."
If you have this:
df$label
#> [1] "" "Change working directory..."
#> [3] "" "Open script file..."
#> [5] "Save script..." "Save script as..."
And you want to wrap the contents with double quotes you could do something like:
df$label <- paste0('"', df$label, '"')
df$label
#> [1] "\"\"" "\"Change working directory...\""
#> [3] "\"\"" "\"Open script file...\""
#> [5] "\"Save script...\"" "\"Save script as...\""
To update all columns at once
Using base R (adapted from comment by @r2evans)
df[] <- lapply(df, function(x) paste0('"', x, '"'))
Or if you prefer to use something like dplyr
you could do:
library(dplyr)
df <- mutate_all(df, ~ paste0('"', ., '"'))