لكل لوحة تجانس في ggplot2
سؤال
أنا أقسم مجموعة من المنحنيات، باستخدام الوجه في GGPLOT2. أرغب في تطبيق أكثر سلاسة على المؤامرات حيث توجد نقاط كافية للتسلية، ولكن ليس على المؤامرات ذات النقاط القليلة للغاية. على وجه الخصوص، أود إيقاف فشل المؤامرة عند عدم وجود أحد اللوحات فقط 1 أو 2 نقطة.
مثال:
a <- data.frame( x=1:100, y=sin(seq(0.1,10,0.1) ))
b <- data.frame( x=1:5, y=sin(seq(0.1,0.2,0.1) ))
l <- melt(list(a=a,b=b),id.vars="x")
qplot( x, value, data=l ) + geom_smooth() + facet_wrap( ~ L1 )
المحلول
جرب هذا
library(ggplot2)
a <- data.frame( x=1:100, y=sin(seq(0.1,10,0.1) ))
b <- data.frame( x=1:2, y=sin(seq(0.1,0.2, length = 2) ))
l <- melt(list(a=a,b=b),id.vars="x")
more_than <- function(n) {
function(df) {
if (nrow(df) > n) {
df
}
}
}
lbig <- ddply(l, "L1", more_than(5))
qplot( x, value, data=l ) + geom_smooth() + facet_wrap( ~ L1 )
qplot( x, value, data=l ) + geom_smooth(data = lbig) + facet_wrap( ~ L1 )
لا تنتمي إلى StackOverflow