#r #ggplot2 #r-markdown #tukey
#r #ggplot2 #r-markdown #туки
Вопрос:
Код, который я прилагаю здесь, отображает неправильный сюжет при вязании («Tk.wrong.png», первый сюжет здесь). Однако, если я запускаю его как стандартный R-код, отображаемый график является правильным («Tk.right.png», второй график). Я нахожу это загадочным. Какие-либо подсказки? Большое спасибо. Лучше всего, Дэвид Р. PS: Tk data.frame можно загрузить здесь. https://mycore.core-cloud.net/index.php/s/OKF9dp1tWa0OR1g
---
название: «Справка по Tukey plot»
автор: «DR»
дата: «16/10/2020»
вывод: pdf_document
knitr::opts_chunk$set(echo = TRUE)
setwd("~/Documents/IPBS/JN/AB")
library(tidyverse)
input.data <- read.table("input.data.txt", header = TRUE, sep = "t")
Tk <- rownames_to_column(as.data.frame(TukeyHSD(aov(Score_Avg ~ Manip * Traitement, data = input.data), "Traitement")$Traitement),var = "comp")
Tk$signif <- sapply(1:nrow(Tk), function (x) between(0,Tk$lwr[x],Tk$upr[x]))
Tk$comp <- as.factor(Tk$comp)
levels(Tk$comp) <- c("Genta-NT", "3T-NT", "G3T-NT", "3T-Genta", "G3T-Genta", "G3T-3T")
ggplot(Tk, aes(x = diff, y = comp, colour = signif))
geom_point()
geom_errorbar(aes(xmin = lwr, xmax = upr), width = .1)
geom_vline(xintercept = 0, colour = "darkgreen")
scale_colour_manual(values=c('darkred','darkblue'))
theme_minimal()
theme(axis.title.x = element_text(size = 20),
axis.text.x = element_text(size = 15),
legend.position = "none")
ggsave("Tk.wrong.png")
Комментарии:
1. Не могли бы вы, пожалуйста, сделать свой пример воспроизводимым, добавив фрагмент ваших данных? Кроме того. В общем, я бы доверял сюжету Rmd. Почему? Потому что Rmd основан на понятии воспроизводимости. Поэтому Rmd отображает ваш код в новом и чистом сеансе R. Если выполнение точно такого же кода в стандартном R-скрипте дает разные результаты, я бы посоветовал перезапустить сеанс R и повторить попытку.
2. Привет, Стефан, я попробовал то, что предложил oyu, включая перезапуск RStudio и т. Д. То же самое. График, который я получаю с помощью ggplot2, определенно правильный. Тот, у которого Rmarkdown, скручен, кажется, что он не принимает уровни оси y, как следует. Вот данные. Надеюсь, это разборчиво.
3. Tk data.frame можно загрузить здесь. Еще раз спасибо. mycore.core-cloud.net/index.php/s/OKF9dp1tWa0OR1g
4. Привет, Дэвид. Я запустил ваш код (и я имею в виду точно такой же код) как в Rmd, так и в стандартном R-скрипте. И, как и ожидалось. Я получил те же сюжеты. Однако графики, которые я получил, отличались от ваших. Итак, я посмотрел еще раз. И да. Одна из проблем с вашим кодом заключается в том, что, когда
levels(Tk$comp) <- c(....)
вы не устанавливаете уровни, вы перезаписываете уровни, то есть метки меняются. Если я вместо этого используюTk$comp <- factor(Tk$comp, levels = c("Genta-NT", "3T-NT", "G3T-NT", "3T-Genta", "G3T-Genta", "G3T-3T"))
, я закончил с вашим правильным сюжетом. Как в Rmd, так и в стандартном R-скрипте.5. Большое спасибо, Стефан, я попробую это, как только смогу. С наилучшими пожеланиями, Дэвид