Использование sub()
для имен столбцов должно сделать
colnames(df) <- sub("V", "X", colnames(df))
df[, 1:5]
# X1 X2 X3 X4 X5
# 1 -1.3082368 0.1279402 -0.5617098 -0.5270066 -0.1255816
# 2 0.6039559 0.4957135 -0.6753756 -0.3299313 1.6700390
# 3 -1.9705086 0.3714967 -0.8691308 -0.9567827 0.2744300
# 4 -0.7793934 -0.7170730 1.0079133 0.4428833 -0.4107202
# 5 -0.7248188 0.6195181 1.6373108 0.2425697 -2.7285534
Поскольку Алистер поднял трубопровод, вот один способ, которым вы могли бы реализовать это в конвейере:
library(pipeR)
n = 5
p = 20
df <- matrix(rnorm(n*p), nrow=n, ncol=p) %>>%
as.data.frame %>>%
"colnames<-"(sub("V", "X", colnames(.))) %>>%
(? str(.))