#r #matrix
#r #матрица
Вопрос:
Я хотел бы присвоить имя матрице, а не каждому компоненту матрицы, как это делает R, например:
a <- matrix(1:10, nrow=5)
names(a)
NULL
names(a) <- "this is a"
a
[,1] [,2]
[1,] 1 6
[2,] 2 7
[3,] 3 8
[4,] 4 9
[5,] 5 10
attr(,"names")
[1] "this is a" NA NA NA NA NA NA NA NA NA
Я хотел бы, чтобы этот names(a)
результат был только для «This is a».
Ответ №1:
A matrix
vector
dim
— это атрибут with . Для a vector
— names
это имена для каждого элемента. Таким образом, присвоение с names
для одного элемента приводит к заполнению других элементов NA
. Одним из вариантов является прямое создание атрибута
attr(a, "name") <- "this is a"
a
# [,1] [,2]
#[1,] 1 6
#[2,] 2 7
#[3,] 3 8
#[4,] 4 9
#[5,] 5 10
#attr(,"name")
#[1] "this is a"
ПРИМЕЧАНИЕ: возможно, лучше использовать другое значение, а не names
Доступ к атрибутам можно получить через
attributes(a)$name
#[1] "this is a"
attr(a, "name")
#[1] "this is a"