Espessura da borda do ponto de controle em ggplot

Ao usar ggplot, posso definirshape 21-25 para obter formas que têm configuração independente para o interno (fill) e fronteira (col) cores, assim:

df <- data.frame(id=runif(12), x=1:12, y=runif(12))
ggplot(df, aes(x=x, y=y)) + 
  geom_point(aes(fill=id, size=id), colour="black", shape=21)

No entanto, não consigo descobrir como controlar a espessura das bordas da forma, definindo-as de maneira absoluta ou como um mapeamento estético. Eu noto que se eu definir umlwd valor, ele substitui osize estético:

ggplot(df, aes(x=x, y=y)) + 
  geom_point(aes(fill=id, size=id), colour="black", shape=21, lwd=2)

Como faço para controlar a espessura da borda?

questionAnswers(3)

yourAnswerToTheQuestion