已经有人提出一个问题,关于在此处apply应用、sapply等时如何将列名保留在矩阵中。但我没有找到如何保留矩阵的列名和行名。
下面是一个例子:
mat = matrix(c(as.character(1:4)), nrow = 2)
colnames(mat) = c( 'col1', 'col2' )
rownames(mat) = c( 'row1', 'row2' )
mat = apply(mat, 2, function(x) as.numeric(paste(x)))
colnames(mat)
rownames(mat)
Run Code Online (Sandbox Code Playgroud)
提前致谢 :-)
例如,我有一个矩阵 k
> k
d e
a 1 3
b 2 4
Run Code Online (Sandbox Code Playgroud)
我想在k上应用一个函数
> apply(k,MARGIN=1,function(p) {p+1})
a b
d 2 3
e 4 5
Run Code Online (Sandbox Code Playgroud)
但是,我还想打印rowname行,apply以便我可以知道当时应用了哪一行功能.
它可能看起来像这样:
apply(k,MARGIN=1,function(p) {print(rowname(p)); p+1})
Run Code Online (Sandbox Code Playgroud)
但我真的不知道如何在R中做到这一点.有没有人有任何想法?