Closed bwiernik closed 3 years ago
How exactly are you viewing this html? Is this the rstudio previewer?
It looks like your html output is correct (for example it contains the µ
) however your browser seems to interpet the text as latin1 instead of utf-8?
If you manually generate the html document, can you try adding this in the <head>
of the document:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Also for the R-documentation, maybe add Encoding: UTF-8
to your package DESCRIPTION file
Ah, yes. For the first issue, if I run katex::katex_html(katex::example_math(), preview = interactive())
in R GUI so it opens in my browser, it displays correctly. The issue with the first one seems to be limited to the RStudio Viewer.
For the package documentation, the encoding is still not correct if I open the HTML help file in my browser:
Encoding: UTF-8
is already in the package DESCRIPTION file
Here is the generated HTML documentation. The header you gave was already there.
rank_biserial {effectsize} | R Documentation |
Compute the rank-biserial correlation ( ), Cliff's delta ( ), rank epsilon squared ( ), and Kendall's W effect sizes for non-parametric (rank sum) tests.
rank_biserial( x, y = NULL, data = NULL, mu = 0, ci = 0.95, paired = FALSE, verbose = TRUE, ..., iterations ) cliffs_delta( x, y = NULL, data = NULL, mu = 0, ci = 0.95, iterations = 200, verbose = TRUE, ... ) rank_epsilon_squared(x, groups, data = NULL, ci = 0.95, iterations = 200, ...) kendalls_w( x, groups, blocks, data = NULL, ci = 0.95, iterations = 200, verbose = TRUE, ... )
x |
Can be one of:
|
y |
An optional numeric vector of data values to compare to |
data |
An optional data frame containing the variables. |
mu |
a number indicating the value around which (a-)symmetry (for one-sample or paired samples) or shift (for independent samples) is to be estimated. See stats::wilcox.test. |
ci |
Confidence Interval (CI) level |
paired |
If |
verbose |
Toggle warnings and messages on or off. |
... |
Arguments passed to or from other methods. |
iterations |
The number of bootstrap replicates for computing confidence
intervals. Only applies when |
groups, blocks |
A factor vector giving the group / block for the
corresponding elements of |
The rank-biserial correlation is appropriate for non-parametric tests of
differences - both for the one sample or paired samples case, that would
normally be tested with Wilcoxon's Signed Rank Test (giving the
matched-pairs rank-biserial correlation) and for two independent samples
case, that would normally be tested with Mann-Whitney's U Test (giving
Glass' rank-biserial correlation). See stats::wilcox.test. In both
cases, the correlation represents the difference between the proportion of
favorable and unfavorable pairs / signed ranks (Kerby, 2014). Values range
from -1
indicating that all values of the second sample are smaller than
the first sample, to +1
indicating that all values of the second sample are
larger than the first sample. (Cliff's delta is an alias to the
rank-biserial correlation in the two sample case.)
The rank epsilon squared is appropriate for non-parametric tests of
differences between 2 or more samples (a rank based ANOVA). See
stats::kruskal.test. Values range from 0 to 1, with larger values
indicating larger differences between groups.
Kendall's W is appropriate for non-parametric tests of differences between
2 or more dependent samples (a rank based rmANOVA), where each group
(e.g.,
experimental condition) was measured for each block
(e.g., subject). This
measure is also common as a measure of reliability of the rankings of the
groups
between raters (blocks
). See stats::friedman.test. Values range
from 0 to 1, with larger values indicating larger differences between groups
/ higher agreement between raters.
When tied values occur, they are each given the average of the ranks that would have been given had no ties occurred. No other corrections have been implemented yet.
A data frame with the effect size (r_rank_biserial
,
rank_epsilon_squared
or Kendalls_W
) and its CI (CI_low
and
CI_high
).
Confidence intervals for the rank-biserial correlation (and Cliff's delta)
are estimated using the normal approximation (via Fisher's transformation).
Confidence intervals for rank Epsilon squared, and Kendall's W are
estimated using the bootstrap method (using the {boot}
package).
Cureton, E. E. (1956). Rank-biserial correlation. Psychometrika, 21(3), 287-290.
Glass, G. V. (1965). A ranking variable analogue of biserial correlation: Implications for short-cut item analysis. Journal of Educational Measurement, 2(1), 91-95.
Kendall, M.G. (1948) Rank correlation methods. London: Griffin.
Kerby, D. S. (2014). The simple difference formula: An approach to teaching nonparametric correlation. Comprehensive Psychology, 3, 11-IT.
King, B. M., & Minium, E. W. (2008). Statistical reasoning in the behavioral sciences. John Wiley & Sons Inc.
Cliff, N. (1993). Dominance statistics: Ordinal analyses to answer ordinal questions. Psychological bulletin, 114(3), 494.
Tomczak, M., & Tomczak, E. (2014). The need to report effect size estimates revisited. An overview of some recommended measures of effect size.
Other effect size indices:
cohens_d()
,
effectsize()
,
eta_squared()
,
phi()
,
standardize_parameters()
# two-sample tests ----------------------- A <- c(48, 48, 77, 86, 85, 85) B <- c(14, 34, 34, 77) rank_biserial(A, B) x <- c(1.83, 0.50, 1.62, 2.48, 1.68, 1.88, 1.55, 3.06, 1.30) y <- c(0.878, 0.647, 0.598, 2.05, 1.06, 1.29, 1.06, 3.14, 1.29) rank_biserial(x, y, paired = TRUE) # one-sample tests ----------------------- x <- c(1.15, 0.88, 0.90, 0.74, 1.21) rank_biserial(x, mu = 1) # anova tests ---------------------------- x1 <- c(2.9, 3.0, 2.5, 2.6, 3.2) # control group x2 <- c(3.8, 2.7, 4.0, 2.4) # obstructive airway disease group x3 <- c(2.8, 3.4, 3.7, 2.2, 2.0) # asbestosis group x <- c(x1, x2, x3) g <- factor(rep(1:3, c(5, 4, 5))) rank_epsilon_squared(x, g) wb <- aggregate(warpbreaks$breaks, by = list( w = warpbreaks$wool, t = warpbreaks$tension ), FUN = mean ) kendalls_w(x ~ w | t, data = wb)
I isolated the cause of the HTML viewer issue, but I am still not able to get the help files to build correctly:
This is what is in my .Rd file:
(\Sexpr[results=rd, stage=build]{katex::math_to_rd("\\\\delta", 'delta', FALSE)})
When I build, it becomes this in the HTML:
(
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/katex@0.13.11/dist/katex.min.css">
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>δ</mi></mrow><annotation encoding="application/x-tex">\delta</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.69444em;vertical-align:0em;"></span><span class="mord mathnormal" style="margin-right:0.03785em;">δ</span></span></span></span>
)
I can see this as well now. It does not happen when you install the package using install.packages()
, it only happens when you build the source package on Windows.
I think this is a bug in R, where it treats the output from the \Sexpr{} incorrectly on Windows. I've asked advice from Tomas Kalibera.
The Windows bug should be fixed in R 4.1.1. I added a workaround to this package for lower versions. Could you test it?
Thanks!
On R 4.1.0, that works as an acceptable workaround for characters that produce an ASCII analogue character in enc2native()
(such as α, β, δ, ε, τ), but for characters that produce Unicode escape sequence like <U+03C1>
(ρ) or <U+0001F600>
(😀), the unescaped < >
characters stops the HTML output from being rendered afterword.
That can be fixed by further postprocessing with this regex:
sub(pattern = "<(U\\+[0-9A-Fa-f]{4,8})>", replacement = "<\\1>", x = rd)
eg:
sub(pattern = "<(U\\+[0-9A-Fa-f]{4,8})>", replacement = "<\\1>",
x = c("<U+03C1>", "<U+0001F600>"))
#> [1] "<U+03C1>" "<U+0001F600>"
Created on 2021-07-15 by the reprex package (v2.0.0)
Example of the issue:
#' Compute the rank-biserial correlation
#' (\Sexpr[results=rd, stage=build]{katex::math_to_rd('r_{rb}', 'r_rb', FALSE)}),
#' Cliff's *delta* (\Sexpr[results=rd, stage=build]{katex::math_to_rd("\\\\delta", 'delta', FALSE)}),
#' rank epsilon squared (\Sexpr[results=rd, stage=build]{katex::math_to_rd('\\\\rho^2', 'epsilon^2', FALSE)}), and
#' Kendall's \eqn{W} effect sizes for non-parametric (rank sum) tests.
Smart, can you send a PR?
Follow up on https://github.com/ropensci/katex/issues/1
Non-ASCII characters are still not working correctly on Windows 10 with the current GitHub main branch (commit 56fc96f):
Created on 2021-07-08 by the reprex package (v2.0.0)
Greek letters are pretty generally not working on Windows.
This roxygen2 block:
produces:
Originally posted by @bwiernik in https://github.com/ropensci/katex/issues/1#issuecomment-876206307