Построение P-значения в зависимости от p-значения в R - PullRequest
0 голосов
/ 19 января 2019

Я пытаюсь построить значения R2 и P на графике регрессии в R с помощью этой страницы . Вот мои коды.

DF <- data.frame(X <- c(1, 2, 3, 4, 5, 6, 7), Y <- c(1.5, 2.1, 1.2, 4.4, 1, 6.5, 8.4))

plot(Y ~ X, data = DF)

# Add regression line
regline <- lm(DF$Y ~ DF$X)
intercept <- coef(regline)[1]
slope <- coef(regline)[2]
abline(regline)

# Get stats
summary(regline)

# Get these values
names(summary(regline))
# Get adjusted R-square
R2 <- summary(regline)$adj.r.squared

# Get pPvalue
P <- summary(regline)$coefficients[2,4]
P <- ifelse(P < 0.05, '< 0.05', P)

# Plot R2 and P-value
r2p = vector('expression', 2)
r2p[1] = substitute(expression(italic(R)^2 == RSQ), list(RSQ = format(R2, dig = 2)))[2]
r2p[2] = substitute(expression(italic(P) == PVALUE), list(PVALUE = format(P, digits = 2)))[2]
legend('topleft', legend = r2p, bty = 'n', y.intersp = 1.3)

То, что я хочу сделать по-другому, это изменить значение P на «P <0,05», если значение меньше 0,05. Я могу преобразовать значение, но оно все равно выводит знак "=", как этот. </p>

enter image description here

Как мне сделать так, чтобы печатать «P <0,05» вместо «P = <0,05», сохраняя курсив P? Спасибо за вашу помощь. </p>

1 Ответ

0 голосов
/ 19 января 2019

Измените выражение в r2p[2] на одну из следующих форм:

  • expression(italic(P) ~ PVALUE)
  • expression(italic(P) * PVALUE)
  • expression(paste(italic(P), PVALUE))

То есть поместите любой из приведенных выше кодов на место xxxxxx:

r2p[2] = substitute(xxxxxx, list(PVALUE = format(P, digits = 2)))[2]

enter image description here

Пожалуйста, проверьте ?plotmath и demo(plotmath) для деталей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...