[R] how to rename variables by lopping off first 3 characters
ru|pb@rr@d@@ @end|ng |rom @@po@pt
Mon Mar 14 18:52:49 CET 2022
I have already seen those names starting with 'i..' several times but I
don't remember where nor why.
I think it has to do with encoding. Or maybe special characters. I have
the impression that the best solution was to read the data in a way as
to avoid the problem.
Using Bert's example data set, here are base R and tidyverse solutions.
dat <- data.frame(
i..One = 1:3,
i..Two = letters[1:3],
ixx = 5:7)
# base R
names(dat) <- sub("^i\\.\\.", "", names(dat))
dplyr::rename_with(dat, .fn = \(x) sub("^i\\.\\.", "", x),
Hope this helps,
Às 16:26 de 14/03/2022, Christopher W Ryan via R-help escreveu:
> 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.
> --Chris Ryan
> [[alternative HTML version deleted]]
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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