Просто, чтобы дать общий ответ здесь обо всех трех API MYSQL со ссылкой:
Вы не можете смешивать ни одно из трех ( mysql_*
, mysqli_*
, PDO
) API MYSQL от PHP вместе, он просто не работает. Это даже в справочнике FAQ :
Невозможно смешать расширения. Например, передача mysqli в PDO_MySQL или ext / mysql не будет работать.
blockquote>Вам нужно использовать тот же API MySQL и связанные с ним функции, от подключения к запросам .
Вы можете создать новый столбец в вашем кадре данных, который содержит среднее значение. Я назвал его как y.int
и вычислил с помощью функции ddply()
из библиотеки plyr
. Здесь среднее значение, рассчитанное только для значений, где Type
равно Completed
(поскольку Requested
следует исключить).
library(plyr)
cns<-ddply(cns,.(Name),transform,y.int=mean(Days[Type=="Completed"]))
Теперь используйте geom_hline()
и новый столбец, чтобы добавить линии к каждой грани .
plot + geom_hline(aes(yintercept=y.int))
Вариант ответа Didzis , я бы сделал отдельный кадр данных для сводных данных, которые вы хотите отобразить на один грань.
library("plyr")
cns.annotate <- ddply(cns, .(Name), summarize, y.int=mean(Days[Type=="Completed"]))
затем передать этот кадр данных to geom_hline
.
qplot(Date, data=cns,
geom="bar", binwidth = 1,
fill=Type, facets = Name ~ .) +
geom_hline(data=cns.annotate, aes(yintercept=y.int))
или в ggplot, а не в синтаксисе qplot:
ggplot(cns, aes(x=Date)) +
geom_bar(aes(fill=Type), binwidth=1) +
geom_hline(data=cns.annotate, aes(yintercept=y.int)) +
facet_grid(Name ~ .)
y.int
вcns
, а затем вызываяgeom_hline
с этим, вы будете рисовать несколько горизонтальных линий в каждой грани (по одной для каждой строки вcns
, соответствующей этой грани). Хотя это может не иметь практического эффекта, в некоторых случаях он может (прозрачность, антиалиасинг, размер файла графика). – Brian Diggs 12 July 2013 в 18:33