开发者

apply over matrix by column - any way to get column name?

I'm calling apply(data, 2, function(x) {...}) where data is 开发者_如何学Ca matrix. Is there any way for the function to know the name of the column whose values are present in x? Or perhaps there's another function to accomplish the same task?


One common way to deal with this is to loop over the column names themselves:

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


You can use sapply on 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
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜