| 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
unmatchedQuotesQuote.
blankLinesDroppedindices of the input x that
were dropped because they (1) followed
an unmatched Quote and (2)
contained no non-blank characters.
quoteLinesAppendedindices 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 Quotes
matched.
ncharsAppendedan 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.