применить поверх матрицы к столбцу - любой способ получить имя столбца? - PullRequest
15 голосов
/ 07 октября 2011

Я звоню apply(data, 2, function(x) {...}), где data - матрица. Есть ли способ для функции узнать имя столбца, значения которого присутствуют в x? Или, может быть, есть другая функция для выполнения той же задачи?

Ответы [ 2 ]

26 голосов
/ 07 октября 2011

Один из распространенных способов справиться с этим - циклически перебирать имена столбцов:

m <- matrix(runif(16),4,4)
colnames(m) <- letters[1:4]
sapply(colnames(m),function(x){mean(m[,x])})
        a         b         c         d 
0.4720319 0.4992337 0.5026318 0.3514267
15 голосов
/ 07 октября 2011

Вы можете использовать sapply на colnames(data):

set.seed(21)
Data <- matrix(rnorm(10),5,2)
colnames(Data) <- c("one","two")
sapply(colnames(Data), function(x) sum(Data[,x]))
#       one       two 
#  3.987540 -2.010875 
colSums(Data)
#       one       two 
#  3.987540 -2.010875
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...