Check your variables in R:
> msconvertpath
[1] "C:/Program Files (x86)/ProteoWizard/ProteoWizard 3.0.21175.5b6d9afee/msconvert.exe'"
You can see an invalid (superfluous) single quote at the very end (before closing double quote), and
> convert
[1] "C:/Program Files (x86)/ProteoWizard/ProteoWizard 3.0.21175.5b6d9afee/msconvert.exe'\" msconvert \"C:/Users/Data/QC1.raw\" -o \"C:/Users/Data"
>
You can see missing escaped double quotes (opening one for msconvertpath and closing one for outfile).
Adjusted code snippet could work:
msconvertpath <- c("C:/Program Files (x86)/ProteoWizard/ProteoWizard 3.0.21175.5b6d9afee/msconvert.exe")
### ^ removed invalid single quote at the very end (before closing double quote)
afile <- c("C:/Users/Data/QC1.raw")
outfile <- c("C:/Users/Data")
convert <- paste0('"', msconvertpath, '"', " msconvert ", '"', afile, '"', " -o ", '"', outfile, '"')
### ^ added missing escaped double quotes
system(convert)
The convert variable looks syntactically acceptable now:
> convert
[1] "\"C:/Program Files (x86)/ProteoWizard/ProteoWizard 3.0.21175.5b6d9afee/msconvert.exe\" msconvert \"C:/Users/Data/QC1.raw\" -o \"C:/Users/Data\""