一定很容易,但我找不到解决方案......
我有10个相同维度的矩阵,其名称共享模式“daily_”。我想命名所有对象的列,如下所示:0,1,2 ... 10。我试过这个:
colnames(ls(pat="daily_"))<-c(0:10)
但是不起作用!我也试过循环,但我不认为这是正确的方法......
答案 0 :(得分:1)
最好将daily_1
..._2
等收集到list
对象中,但您可以将这些内容重新分配到全球工作环境,作为获取所需内容的迂回方法:< / p>
daily_1 <- matrix(1:10,ncol=10)
daily_2 <- matrix(1:10,ncol=10)
daily_list <- mget(ls(pattern="daily_"))
daily_list <- lapply(daily_list,`colnames<-`,1:10)
list2env(daily_list,envir=.GlobalEnv)
答案 1 :(得分:0)
这应该可行,而不会将所有内容都列入一个列表:
for(name in ls(pat="daily_")){
mat <- mget(name)[[1]]
colnames(mat) <- 1:10
assign(value=mat, x=name)
}
欢呼声 - h