【发布时间】:2016-02-05 14:13:09
【问题描述】:
我想通过使用字符串和行长度向量来命名矩阵的列。举个例子:
k<-c(5:15)
xMin = 3
xMax = 15
x<-c(xMin:xMax)
M<-matrix(, nrow = length(x), ncol = length(k))
理想情况下,我想使用字符串和向量 k 来命名矩阵列,其中第 i 列的列名与向量 k 的第 i 个位置的项目相同。
所以,我希望它看起来像这样:
S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S15
[1,] NA NA NA NA NA NA NA NA NA NA NA
[2,] NA NA NA NA NA NA NA NA NA NA NA
[3,] NA NA NA NA NA NA NA NA NA NA NA
[4,] NA NA NA NA NA NA NA NA NA NA NA
[5,] NA NA NA NA NA NA NA NA NA NA NA
[6,] NA NA NA NA NA NA NA NA NA NA NA
[7,] NA NA NA NA NA NA NA NA NA NA NA
[8,] NA NA NA NA NA NA NA NA NA NA NA
[9,] NA NA NA NA NA NA NA NA NA NA NA
[10,] NA NA NA NA NA NA NA NA NA NA NA
[11,] NA NA NA NA NA NA NA NA NA NA NA
[12,] NA NA NA NA NA NA NA NA NA NA NA
[13,] NA NA NA NA NA NA NA NA NA NA NA
字符串是“S”。 奇怪的是,没有奏效的是:
N=NULL
N<- as.vector(N)
m=1
for (m in length(k))
{
N[m]<-paste0("s_",k[m])
}
N
=> 输出是一个充满 NA 的向量! 虽然,当我手动迭代 'm' 时,它起作用了(为什么它不能在循环中工作?)!
无论我想得到什么,当然是:
> N
[1] "s_5" "s_6" "s_7" "s_8" "s_9" "s_10" "s_11" "s_12"
[9] "s_13" "s_14" "s_15"
我可以很容易地用于:
colnames(M)<-N
我当然希望使用相同的程序来命名行。
【问题讨论】:
-
paste("s", seq(from = 5, to = 15), sep = "_")