И еще одно расширение:
# create dummy matrix
set.seed(10)
m <- matrix(round(runif(25, 1, 5)), 5)
d <- as.data.frame(m)
Если вы хотите назначить новые имена столбцов, вы можете сделать следующее на data.frame
:
# an identical effect can be achieved with colnames()
names(d) <- LETTERS[1:5]
> d
A B C D E
1 3 2 4 3 4
2 2 2 3 1 3
3 3 2 1 2 4
4 4 3 3 3 2
5 1 3 2 4 3
Если вы, однако, выполните предыдущую команду на matrix
, вы все испортите:
names(m) <- LETTERS[1:5]
> m
[,1] [,2] [,3] [,4] [,5]
[1,] 3 2 4 3 4
[2,] 2 2 3 1 3
[3,] 3 2 1 2 4
[4,] 4 3 3 3 2
[5,] 1 3 2 4 3
attr(,"names")
[1] "A" "B" "C" "D" "E" NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[20] NA NA NA NA NA NA
Поскольку матрицу можно рассматривать как двумерный вектор, вы будете назначать имена только первым пяти значениям (вы не хотите этого делать, не так ли?). В этом случае вам следует придерживаться colnames()
.
Так вот ...