У меня есть вложенный список (FCdat.pp.con[[x]][[y]]
), в котором отдельные столбцы содержат значения матрицы (для каждого x и вложенного y). Теперь я хочу сделать матрицы, записав в dataframes.Запись в dataframe в double for loop
Однако, мне не удается присвоить матрицам правильное имя в двойном цикле. На данный момент мне удалось создать матрицы с информацией о «х», но не с информацией о «у». Пожалуйста, помогите мне или предложите другой способ сделать это.
for (x in 1:36){
for (y in 1:5){
cells <- c(0,
FCdat.pp.con[[x]][[y]]$A12,
FCdat.pp.con[[x]][[y]]$A13,
FCdat.pp.con[[x]][[y]]$A14,
FCdat.pp.con[[x]][[y]]$A21,0,
FCdat.pp.con[[x]][[y]]$A23,
FCdat.pp.con[[x]][[y]]$A24,
FCdat.pp.con[[x]][[y]]$A31,
FCdat.pp.con[[x]][[y]]$A32,
0,
FCdat.pp.con[[x]][[y]]$A34,
FCdat.pp.con[[x]][[y]]$A41,
FCdat.pp.con[[x]][[y]]$A42,
FCdat.pp.con[[x]][[y]]$A43,
0)
rnames <- c("ALG1","ALG2","ALG3","ALG4")
cnames <- c("ALG1","ALG2","ALG3","ALG4")
Ind.matr <- t(matrix(cells, nrow=4, ncol = 4))
dimnames(Ind.matr)=list(rnames, cnames)
assign(paste0("Indmatr", x), Ind.matr)
}
}
ли самый нижний уровень списка содержит векторы строки (или col) требуемых матриц? Это немного сложно понять. – ndoogan
Наивысший уровень [[x]] содержит информацию об объектах (n = 36), тогда как самый низкий уровень [[y]] указывает, какое содержимое (n = 5) имеет значение. Затем для каждого [[x]] и [[y]] я вычислял каждую ячейку матрицы. Поскольку я не знал лучшего, я вставлял эти значения матрицы в виде отдельных столбцов в список (так что 12 столбцов дополнительно). Теперь я хочу создать матрицы, к которым я могу получить доступ, с [[x]] и [[y]] значением. Надеюсь, это более ясно? Спасибо! – user2149098