这是我的代码:
mydatamatrix<-matrix(rnorm(30),nrow=10,ncol=26);colnames(mydatamatrix)<-LETTERS[1:26]
pairs<-matrix(LETTERS[1:20],ncol=2);
mylist <- rep(list(vector(mode = "list", 2)),nrow(pairs))
我想用mylist
矩阵的列值填充我的mydatamatrix
列表,但要与对名称匹配。
例如:mylist[[1]]
应具有A
的{{1}}和K
列的值。
并且mydatamatrix
应该是mylist[[1]][1]
A
应该是mylist[[1]][2]
。
我该怎么做?
我也想通过填充K
的{{1}}列中的名称来命名位置mylist[[k]][j]
。
清楚吗?
有帮助吗?谢谢
答案 0 :(得分:1)
我们可以split
按行对,并在list
中提取数据集的列
lapply(split(pairs, row(pairs)), function(x)
list(mydatamatrix[, x[1]], mydatamatrix[, x[2]]))
或使用for
循环为已创建的“ mylist”分配提取值的输出
for(i in seq_along(mylist)) mylist[[i]] <- list(mydatamatrix[, pairs[i,][1]],
mydatamatrix[, pairs[i, ][2]])