メモ:listの要素にNULLを代入したいときは x$attr <- NULL じゃなくて x["attr"] <- list(NULL)
定期的に忘れるのでメモ。たぶんまた忘れるけど。
具体的に困っていたのは、ggplot2のaesを操作したい、というケースで、これにcolour = NULL
を追加したい。
a <- aes(x = col1, y = col2) a #> * x -> col1 #> * y -> col2
しかし直接代入してもうまくいかない。これは$<-
にNULL
を渡すのは要素を削除するというセマンティクスだからだ。
a$colour <- NULL a #> * x -> col1 #> * y -> col2
こうすればいける。
a["colour"] <- list(NULL) a #> * x -> col1 #> * y -> col2 #> * colour -> NULL