Quantcast
Channel: Active questions tagged r - Stack Overflow
Viewing all articles
Browse latest Browse all 201894

Changing multiple columns name, pasting at the beginning/end of column name

$
0
0

I have a very easy question but I am a bit struggling with it as I am not good with string manipulation, I have a dataset that looks something like this

df <- data.frame(id= c(1,1,1,2,2,2,3,3,3), time=c(1,2,3,1,2,3,1,2,3),y = rnorm(9), x1 = rnorm(9), x2 = c(0,0,0,0,1,0,1,1,1),c2 = rnorm(9))
df
#    id  time    y         x1      x2     c2
# 1  1    1  0.2849573 -2.0675484  0  -0.07262881
# 2  1    2  0.7790181 -0.7575962  0  -0.58792408
# 3  1    3  1.5612293  0.6249859  0   1.19410761
# 4  2    1  0.5001897  3.4156129  0  -0.03577452
# 5  2    2  0.7155184 -0.5672982  1  -1.22208675
# 6  2    3  0.5086272 -0.7848763  0  -0.41084467
# 7  3    1 -0.4707959  0.1159467  1   0.77233201
# 8  3    2  0.8641184  0.2498162  1   0.49336869
# 9  3    3  1.3348043 -0.6803672  1  -0.33189217

I would simply like to change all the column names from x1 onwards adding a "_0". the final dataset should look like this.

final
#   id   time     y       x1_o     x2_o    c2_o
# 1  1    1  1.1251762 -0.7191008    0  -0.07478527
# 2  1    2  0.7585758  1.8694635    0  -0.42652822
# 3  1    3 -1.3180201 -0.4336776    0   0.38417779
# 4  2    1  1.7335904  2.2968254    0  -0.35639828
# 5  2    2  0.1506950 -0.5481873    1  -0.38523601
# 6  2    3 -1.9475207 -0.5302951    0   0.21721675
# 7  3    1 -0.1024133 -0.2872962    1  -0.06347213
# 8  3    2  0.1316069  0.1463118    1  -0.19518602
# 9  3    3 -1.1037682 -0.1129085    1  -0.24011278

I am able to change column names one by one, but I would like to find a one-liner command. I have tried this, but it is only able to paste at the beginning.

dp_o<-dp_o %>% rename_at(3:5, ~paste("_o",.))

Probably it is just a variation of the code above, but I am struggling a bit to understand which variation given that I do not understand well string manipulation

thanks in advance


Viewing all articles
Browse latest Browse all 201894

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>