在我的数据框中,许多列名称都以“ .y”结尾,如示例所示:
dat <- data.frame(x1=sample(c(0:1)), id=sample(10), av1.y = sample(10) , av2.y = sample(10) , av3.y = sample(10),av4.y=sample(10))
dat
我想摆脱所有以.y结尾的列名的最后两个字符,并使其他列保持不变,以便具有这样的数据框:
colnames(dat) <- c("x1","id","av1","av2","av3","av4")
dat
如何在不重新键入所有列名的情况下实现这一目标?我找到了对单个字符串执行此操作的方法,但不知道如何在一系列字符串上重复执行此操作:
library(stringi)
stri_sub("av3.y",1,3)
一种可能性是gsub
:
gsub(pattern = ".y", replacement = "", x = names(dat), fixed = TRUE)
# [1] "x1" "id" "av1" "av2" "av3" "av4"
在字符串末尾更明确地匹配“ .y” :
gsub(pattern = "\\.y$", replacement = "", x = names(dat))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句