R 按矩阵列名提取矩阵列值
是否可以从矩阵中按名称获取矩阵列 我尝试了各种方法,例如R 按矩阵列名提取矩阵列值,r,matrix,subset,R,Matrix,Subset,是否可以从矩阵中按名称获取矩阵列 我尝试了各种方法,例如myMatrix[“test”],但似乎没有任何效果。是的。但是,如果您想要列,请将“test”放在逗号之后 > A <- matrix(sample(1:12,12,T),ncol=4) > rownames(A) <- letters[1:3] > colnames(A) <- letters[11:14] > A[,"l"] a b c 6 10 1 >A行名称(A)列名称
myMatrix[“test”]
,但似乎没有任何效果。是的。但是,如果您想要列,请将“test”放在逗号之后
> A <- matrix(sample(1:12,12,T),ncol=4)
> rownames(A) <- letters[1:3]
> colnames(A) <- letters[11:14]
> A[,"l"]
a b c
6 10 1
>A行名称(A)列名称(A)A[,“l”]
a、b、c
6 10 1
另请参见帮助(提取)
>myMatrix行名(myMatrix)列名(myMatrix)myMatrix
A、B、C、D、E
A 13 5 7 9
B 2 4 6 8 10
>myMatrix[“A”,“A”]
[1] 1
>myMatrix[“A”,]
A、B、C、D、E
1 3 5 7 9
>myMatrix[,“A”]
A B
1 2
@Joris-你知道,要想找到R问题的答案,其中一个棘手的方面就是这种语言被命名为“R”。这给了谷歌一个赚钱的机会!我用谷歌搜索了我上面的问题,用了各种各样的搜索词,结果一无所获。即使是简单的问题也能被问到,因为SO被谷歌很好地索引了——结果似乎总是排在最前面。希望其他初学者能找到这个=)@SFun28:查看www.rseek.org,例如这个问题:但是你是对的,这里也可以问一些简单的问题,不过如果你是新用户,我会简单地将你发送到R的简介中。@Joris-sweet!rseek将非常有用。@Joris,您可能忘了写as.numeric(A[,“l”])@Frank,如果该矩阵中的值不是数字,不应转换为数字,那么这将是一个错误的答案。问题是获取列,而不是尝试将其转换为数字。如果您想使用该技巧转换为向量,则不必这样做。如果选择单个列或行,R将自动缩小尺寸。您可以避免使用drop=FALSE
作为索引运算符[
的额外参数,例如:A[,'l',drop=FALSE]
> myMatrix <- matrix(1:10, nrow=2)
> rownames(myMatrix) <- c("A", "B")
> colnames(myMatrix) <- c("A", "B", "C", "D", "E")
> myMatrix
A B C D E
A 1 3 5 7 9
B 2 4 6 8 10
> myMatrix["A", "A"]
[1] 1
> myMatrix["A", ]
A B C D E
1 3 5 7 9
> myMatrix[, "A"]
A B
1 2