【发布时间】:2020-05-08 20:54:27
【问题描述】:
我有一个包含 3 个数据框的列表,每个数据框有 3 行 (op2) 和一个矩阵 (rep_totals)。每个数据框的每一行都与我的矩阵中的一个值相关,趋势:op2[[i]][j,]对应rep_totals[i,j]
我想将op2 中每个数据帧的每一行除以rep_totals 中的相应值,以生成一个包含 3 个新数据帧 (gt_freqs) 及其调整值的列表。
这是我尝试过的:
x = matrix(5,3,5) # creating example
x = as.data.frame(x)
op2 = list(x,x,x)
rep_totals = matrix(5,3,3)
gt_freqs <- replicate(length(op2), matrix(0, 3, 5), simplify = FALSE)
for(i in seq_along(op2)) for(j in seq_along(op2[[1]][1:3,])) gt_freqs[[i]] <- op2[[i]][j,]/rep_totals[i,j]
所以在这个例子中,预期的输出将是 3 个与op2 大小相同的数据帧,除了值都将调整为 1
提前感谢您的帮助!
【问题讨论】:
标签: r loops matrix indexing bioinformatics