matchQuote | R Documentation |
Look for unmatched quotes in a character vector. If found, look for a matching quote starting the next character string in the vector, possibly after a blank line. If found, merge the two strings and return the resulting shortened character vector.
matchQuote(x, Quote='"', sep=' ',
maxChars2append=2, ...)
x |
a character vector to scan for unmatched
|
Quote |
the |
sep |
|
maxChars2append |
maximum number of characters in the
following string to concatenate two
adjacent strings (possibly separated by
a blank line) with unmatched
|
... |
optional arguments for
|
This function was written to help parse
data from the US Department of Health and
Human Services on
cyber-security breaches affecting 500 or
more individuals. As of 2014-06-03 the
csv
version of these data included
commas in quotes that are not sep
characters, quotes that are not matched,
lines with zero characters, followed by
lines with 3 characters being a quote and
a comma. This function was written
to drop the blank lines and append the
quote-comma line to the preceding line so
it contained matching quotes.
The input character vector possibly shortened with the following attributes explaining what was found:
indices of the input x
with
an unmatched
unmatchedQuotes
Quote
.
blankLinesDropped
indices of the input x
that
were dropped because they (1) followed
an unmatched Quote
and (2)
contained no non-blank characters.
quoteLinesAppended
indices of the input x
that were
concatenated with a preceding line
because the two lines contained unmatched
Quote
characters, and concatenating
them produced a line with all Quote
s
matched.
ncharsAppended
an integer vector of the same length as
quoteLinesConcatenated
giving the
number of characters in the second line
concatenated onto the previous line.
Spencer Graves
strsplit1
delimMatch
chvec <- c('abc', 'de"f', ' ', '",', 'g"h',
'matched"quotes"', '')
ch. <- matchQuote(chvec)
# check
chv. <- c('abc', 'de"f ",', 'g"h',
'matched"quotes"', '')
attr(chv., 'unmatchedQuotes') <- c(2, 4, 5)
attr(chv., 'blankLinesDropped') <- 3
attr(chv., 'quoteLinesAppended') <- 4
attr(chv., 'ncharsAppended') <- 2
all.equal(ch., chv.)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.