Изменить имена столбцов числового вектора?

Возьми output<-matrix(sample(9),nrow=3,ncol=3). Это дает мне:

> output
     [,1] [,2] [,3]
[1,]    8    2    3
[2,]    4    7    6
[3,]    9    5    1

Я хочу изменить имена столбцов на «a», «b» и «c». Другими словами, я хочу что-то вроде:

> output
       "a"  "b"  "c"
[1,]    8    2    3
[2,]    4    7    6
[3,]    9    5    1

На этом веб-сайте есть много ответов о том, как это сделать с помощью фрейма данных, но то, что у нас есть, считает себя интергерентным вектором. Итак, как мы можем справиться с этим? Я был удивлен, обнаружив, что names(output)[,c(1,2,3)]<-c("a","b","c") работает, но, по-видимому, ничего не делает.


person J. Mini    schedule 06.06.2020    source источник


Ответы (1)


Вам нужно использовать colnames():

colnames(output) <- c("a","b","c")
person Ali    schedule 06.06.2020
comment
Это сюрреалистично. Я не только клянусь, что уже пробовал это, у меня все это время передо мной были открыты документы для colnames. И тем не менее, ваше решение работает отлично! - person J. Mini; 06.06.2020
comment
Снято в темноте здесь, но, возможно, вы не назначали colnames(output), а вместо этого output <- colnames(c("a","b","c"))? важно помнить, что мы хотим только изменить имена столбцов, а не назначать имена столбцов для вывода. - person Ali; 06.06.2020
comment
Также dimnames(output)[[2]] = c("a", "b", "c") - person Telepresence; 06.06.2020