Я хочу создать участок в ggplot для участка коробки и линейного участка на том же рисунке. У меня есть кадр данных, который выглядит следующим образом:построение прямоугольника и линейного графика в том же графе с использованием ggplot
Lambda | means | theorMean
1 0.1 10.07989 10
2 0.1 10.55681 10
3 0.1 10.26660 10
4 0.1 10.29234 10
5 0.1 10.07754 10
...
means
является выборочными средними и теоретическими средства theorMeans
. Я хочу построить распределение средств выборки по квадратным графикам, тогда как теоретические средства используют прямую линию.
Это то, что я до сих пор ...
library(ggplot2)
library(scales)
p <- ggplot(summ, aes(x=factor(Lambda), y=means)) +
geom_boxplot() +
geom_line(data=summ, aes(x=log10(Lambda), y=means))
Проблема заключается в том, что для коробки сюжета или скрипки сюжета, мне нужно использовать ось х как фактор , С другой стороны, мне нужно, чтобы ось x была числом. Я в основном хочу подгонять теоретическую линию к ящикам, которые я создаю. Как я могу это сделать?
Я не уверен, если я неправильно понимаю, но если проблема только в классе лямбда, вы можете просто удалить «aes (x = factor (Lambda), y = означает)' из 'ggplot()' и поместить его внутри 'geom_boxplot()'. Кроме того, вы можете использовать 'inherit.aes = FALSE' для блокировки наследования' aes' в 'geom_line'. Пожалуйста, дайте мне знать, если я что-то неправильно истолковал. – lnNoam
Умм, я хочу выровнять два сюжета. На самом деле мне даже не нужен «термометр» в data.frame. Я могу просто построить ('lambda' против' 1/lambda'). Его просто то, что «лямбда» изначально масштабируется. Поэтому я не могу выровнять факторы, которые не привязаны к строке. Я попробовал ваше предложение 'ggplot (summ) + geom_boxplot (aes (x = factor (Lambda), y = mean)) + geom_line (aes (x = Lambda, y = означает))', и это не помогает. Спасибо за ваше предложение! – ssm