2015-10-29 7 views
2

Возможно, на мой вопрос ответили, но я использовал свои поисковые ресурсы, прежде чем спрашивать.имена матриц и таблиц/dimnames

У меня есть sample таблицу в R:

 munic 
Gender  Mun1  Mun2 
    female  146980 285797 
    male  140436 270084 

Когда я использую dimnames(sample) я получаю следующее:

> dimnames(sample) 
$Gender 
[1] "female" "male" 

$munic 
[1] "Mun1" "Mun2" 

И я хочу, чтобы создать именно так.

Так что я сделать следующее:

Mat<-matrix(c(148470,24721,22829,24777,26137,43169,49613,40406,48337,34296,19492,+ 
       176712, 27406, 23010, 25487, 27064, 48349, 52140, 44335, 50908, 35814, 18825), nrow=2) 

colnames(Mat) <-c("mun_5","mun_1","mun_2","mun_3","mun_4","mun_6","mun_7","mun_8","mun_9","mun_10","mun_11") 
rownames(Mat) <- c("Male", "Female") 

Mat<-as.table(Mat) 

Однако я не могу сделать это показать общий заголовок переменных, так сказать.

Я пробовал много вещей, но не помогал.

Когда я пытаюсь получить dimnames я получаю следующее:

> dimnames(Mat) 
[[1]] 
[1] "Male" "Female" 

[[2]] 
[1] "mun_5" "mun_1" "mun_2" "mun_3" "mun_4" "mun_6" "mun_7" "mun_8" "mun_9" "mun_10" "mun_11" 

Есть ли способ, чтобы добавить «неизвестный» атрибуты?

+0

Попробуйте 'lapply (dimnames (sample), function (ll) ll [[1])' или что-то в этом роде – smci

ответ

3

Вам необходимо установить атрибут объекта как список надлежащей длины.

attr(mat, "dimnames") <- list(Gender = c("Male", "Female"), 
           munic = c("mun_5","mun_1","mun_2","mun_3","mun_4","mun_6","mun_7","mun_8","mun_9","mun_10","mun_11")) 

> mat 
     munic 
Gender mun_5 mun_1 mun_2 mun_3 mun_4 mun_6 mun_7 mun_8 mun_9 mun_10 mun_11 
    Male 148470 22829 26137 49613 48337 19492 27406 25487 48349 44335 35814 
    Female 24721 24777 43169 40406 34296 176712 23010 27064 52140 50908 18825 

 Смежные вопросы

  • Нет связанных вопросов^_^