[R] how to rename variables by lopping off first 3 characters

Bert Gunter bgunter@4567 @end|ng |rom gm@||@com
Mon Mar 14 18:11:30 CET 2022


If you care to entertain this, one of many simple base R ways to do this is:

dat <- data.frame(
+    i..One = 1:3,
+    i..Two = letters[1:3],
+    ixx = 5:7)
> dat
  i..One i..Two ixx
1      1      a   5
2      2      b   6
3      3      c   7

> nm <- names(dat)
> nm <- ifelse(substring(nm, 1,3) == "i..",
+              substring(nm,4),
+              nm)
> names(dat) <- nm
> dat
  One Two ixx
1   1   a   5
2   2   b   6
3   3   c   7

Bert Gunter

"The trouble with having an open mind is that people keep coming along
and sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )


On Mon, Mar 14, 2022 at 9:27 AM Christopher W Ryan via R-help
<r-help using r-project.org> wrote:
>
> I have data coming to me from another source, in which some of the variable
> names begin with "i.."
>
> As in "i..actual_meaningful_var_name"
>
> I would like to remove the first three characters from any variable name if
> they are "i.."
>
> I'm using R on Win 10 and dplyr, so ideally I'm looking for a dplyr
> solution. Apparently I'm just not understanding how the various select,
> contains, rename_at, rename_with, and so-on dplyr expressions work. I've
> tried various arrangements of them, usually resulting in
>
> Error: `contains()` must be used within a *selecting* function.
> i See <https://tidyselect.r-lib.org/reference/faq-selection-context.html>
>
> A simple select(contains(foo)) I can do fine, to select a subset of
> variables. It's combining it with renaming that I am struggling with.
>
> Grateful for any advice.
>
> Thanks.
>
> --Chris Ryan
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help using 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.



More information about the R-help mailing list