我疯狂地混淆了我的所作所为。
代码中的细节并不重要,我有两个选项
第一个:
ggplot(dta_fin, aes(x=PVT_0610_Z, y=PVT_1115_Z)) +
geom_point(shape=1) +
geom_vline(xintercept = 0, linetype="dashed") +
geom_hline(yintercept = 0, linetype="dashed") +
geom_smooth(method='lm') +
facet_wrap(~ GROUP, scales="fixed", ncol=3)
R中函数使用的第二个:
aFunction <-function(dataname,xx,yy)
{
ggplot(dataname, aes(x=xx, y=yy)) +
geom_point(shape=1) +
geom_vline(xintercept = 0, linetype="dashed") +
geom_hline(yintercept = 0, linetype="dashed") +
geom_smooth(method='lm') +
facet_wrap(~ GROUP, scales="fixed", ncol=3)
}
aFunction(dta_fin,PVT_0610_Z,PVT_1115_Z)
从第一个和第二个获得相同的图表是很自然的,但是我从两个代码中得到了不同的数字。是什么原因?..........
答案 0 :(得分:0)
从函数内部调用ggplot时应该是aes_string():
aFunction <-function(dataname,xx,yy)
{
ggplot(dataname, aes_string(x=xx, y=yy)) +
geom_point(shape=1) +
geom_vline(xintercept = 0, linetype="dashed") +
geom_hline(yintercept = 0, linetype="dashed") +
geom_smooth(method='lm') +
facet_wrap(~ GROUP, scales="fixed", ncol=3)
}
不要忘记将xx和yy作为字符串传递给里面的函数:
aFunction(dta_fin,PVT_0610_Z,PVT_1115_Z)