PTXQC dependency, which was imported for two small string functions (lcpCount() and lcsCount(), used by queryStringToLabel()) but pulled in rmzqc, jsonvalidate and V8, and with them the only dependency requiring a libv8 installation. The two functions are now implemented in the package itself, 10 to 65 times faster than the originals, and with unchanged resultscacheAs parameter to collocationAnalysis() for transparent result caching: if the specified RDS file exists, the cached result is returned immediately; otherwise the analysis runs and the result is saved to the file (.rds extension is added automatically if omitted)max_delta_<score>, winner<score>, loser_score<score> columns etc.), including explicit winner/loser webUIRequestUrl columns for association scores, ranks, and percentile ranks. Missing per-label concordance URLs are now derived by replacing the cq parameter of an available row URL with the target label's vc, and unsuffixed consensus winner_webUIRequestUrl / loser_webUIRequestUrl columns are populated when score-based URL choices agree. The names and semantics of these columns may still change without a deprecation cycleimputed, n_imputed and imputed_<label> columns, and reported in verbose mode, so that presence/absence artifacts can be told apart from measured contrasts (filter(!imputed)). See the new "Interpreting multi-VC comparisons" section in ?collocationAnalysis for how to read the comparison columnscollocationAnalysis() now warns when repeated node/collocate/label rows are reduced to their first occurrence for the comparison columns, instead of dropping them silentlycollocationScoreQuery() now accepts a vector of collocates and queries every combination of collocate and virtual corpusKorAPConnection() is now a regular constructor function instead of the S4 class generator, so that its manual page documents how it is actually called. new("KorAPConnection", ...) and all existing calls keep working unchangedfetchAnnotations() morphology so MarMoT and other foundries keep all features from nested spans (#30)xml2, retaining multiple lemma/POS values and improving robustness of token alignmentfetchAnnotations() method added to KorAPQuery class, to fetch annotations for all collected matchesKorAPConnection(verbose=) default via env var KORAP_VERBOSE or R option rkorap.verbose (explicit argument still wins)ci functionauth() function (see ?auth)httr to httr2for all API requestsggplot2 3.6.0 (thanks @teunbrand)corpusQuery resultsmergeDuplicateCollocates functioncitation("RKorAPClient")matchStart and matchEnd columns to corpusQuery results, that contain the start and end position of the match in the textmergeDuplicateCollocates to merge collocation analysis results for different context positionsquery to collocation analysis results\link{} targets missing packagecorpusStats methodspan parameter in collocation analysis functionstextMetadata method, if available, to retrieve also custom metadata for a text based on its siglecorpusQuery method, if availabletextMetadata KorAPConnection method to retrieve all metadata for a text based on its siglewebUiRequestUrl column also to corpusStats results, so that also virtual corpus definitions can be linked to / tested directly in the KorAP UImetadataOnly is set, also tokenized snippets are now retrieved in corpus queries (stored in collectedMatches$tokens)%>% (pipe function)hc_add_onclick_korap_search() now also works with bar, column and pie highchartscollocationAnalysis function:maxRecurse - apply collocation analysis recursively maxRecurse timesaddExamples - If TRUE, examples for instances of collocations will be added in a column example. This makes a difference in particular if 'node' is given as a lemma query.thresholdScore - association score function to use for computing the threshold that is applied for recursive collocation analysis callsthreshold- minimum value of thresholdScore function call to apply collocation analysis recursively## Not run ... ## End(Not run)This was necessary to meet the time limits of automatic CRAN checks under all circumstances and has otherwise no significance,
The change of the minor version from 6 to 7 automatically invalidates your cached query results. However, since the API has not changed, you can continue using the old cached results by copying or renaming your cache folder.
On linux, for example, this can look like this:
mv ~/.cache/R/R.cache/RKorAPClient_0.6 ~/.cache/R/R.cache/RKorAPClient_0.7
or like this:
mv ~/.Rcache/RKorAPClient_0.6 ~/.Rcache/RKorAPClient_0.7
To find the RKorAPClient cache directory for your environment, you can use:
R.cache::getCacheRootPath()
collocationAnalysis method (client-sided)randomizePageOrder to fetch result pages in randomized orderignoreCollocateCase in collocationScoreQuerywithinSpan (default: base/s=s) in collocationScoreQueryverbose=TRUEsmooth added to hc_freq_by_year_ciUnknown or uninitialised column: 'condition'.as consequences.
hc_freq_by_year_ci.demo("writtenVsSpoken")