我有一个矩阵(RR),列名是整数。当我将marix的元素称为RR[x, c("5")]
时,它可以正常工作,但当我将其更改为
Myindex <-5
RR[x, c("Myindex")]
我收到错误subscript out of bounds
。到目前为止我无法理解。
BTW,5只是一个例子。
有什么想法吗?
由于
答案 0 :(得分:1)
即使您将列名称命名为numbers
,也会将其视为character
列名称。
rr <- matrix(1:15,3,5)
colnames(rr) <- c(21:25)
rr
# 21 22 23 24 25
# [1,] 1 4 7 10 13
# [2,] 2 5 8 11 14
# [3,] 3 6 9 12 15
rr[1,"23"]
# 23 ## column name is 23
# 7
my_index <- 4
rr[3,my_index]
# 24 ## column name is 24
# 12
my_index <- "25"
rr[3,my_index]
# 25 ## column name is 25
# 15
colnames(rr) <- as.integer(c(21:25))
rr
# 21 22 23 24 25
# [1,] 1 4 7 10 13
# [2,] 2 5 8 11 14
# [3,] 3 6 9 12 15
class(colnames(rr))
# [1] "character"