Description Usage Arguments Details Value Author(s) See Also Examples
Look for unmatched quotes in a character vector. If found, look for a matching quote starting the next characer string in the vector, possibly after a blank line. If found, merge the two strings and return the resulting shortened character vector.
1 | 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
concatonate 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 preceeding line so it contained matching quotes.
The input character vector possibly shortened with the following attributes explaining what was found:
unmatchedQuotes
indices of the input x
with an unmatched
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 concatonated
with a preceeding line because the two lines contained
unmatched Quote
characters, and concatonating
them produced a line with all Quote
s matched.
ncharsAppended
an integer vector of the same length as
quoteLinesConcatonated
giving the number of
characters in the second line concatonated onto
the previous line.
Spencer Graves
1 2 3 4 5 6 7 8 9 10 11 | 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.