> On 8 May 2024, at 09:16, Ivan Krylov <ikry...@disroot.org> wrote: > > В Tue, 7 May 2024 16:57:14 +0200 > gavin duley <gdu...@gmail.com> пишет: > >> aes(label=current_rownames, >> colour=wine.data.filt$Treatment >> ) > > As you've noticed, aes() remembers variables by their name and > environment, not by value:
Yes, it was something I wasn’t aware of previously. I thought once I’d created a ggplot object, it was fairly static/unchanging. That this is limited to aes() explains why the title set using ggtitle isn’t affected in the same way — thanks! > One way to get around the problem is to ensure that the variables live > in different environments. Instead of making it a for loop, write a > function that would accept `i` and return a plot instead of assigning > it by name: Thanks, that does seem like a good option. I’m less familiar with writing functions, but it’s something I’m trying to learn about. I’ll try it and see how it goes. > (In many languages, trying to use a variable as a variable name, while > possible, usually means you need to consider some kind of nested data > structure: > https://perldoc.perl.org/perlfaq7#How-can-I-use-a-variable-as-a-variable-name? > In R, this structure is a list.) Ok, that’s useful to know, thanks. I don’t really have much programming experience beyond R, so there’s a lot I don’t know. > Alternatively, supply a data= argument to geom_label_repel() and make > your mapping = aes(...) reference variables from the data (which will > be remembered), ignoring the environment (which is only referenced). > Something like the following should work, untested: Thanks, I’ll try that out too. Many thanks for giving me a few suggestions. I was completely stuck, but these have given me a few good things to try! Thanks, gavin, ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.