Разделение каждой строки фреймов данных в списке на соответствующее значение матрицы - PullRequest
1 голос
/ 22 января 2020

У меня есть список из 3 фреймов данных, каждый из которых состоит из 3 строк (op2) и матрицы (rep_totals). Каждая строка каждого фрейма данных относится к значению в моей матрице с тенденцией: op2[[i]][j,], соответствующей rep_totals[i,j]

Я хотел бы разделить каждую строку каждого фрейма данных в op2 на соответствующие значение в rep_total с, чтобы получить список из 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

Заранее спасибо за вашу помощь!

1 Ответ

2 голосов
/ 22 января 2020

Мы можем использовать Map

Map(`/`,op2, asplit(rep_totals, 1))

С for l oop это будет

for(i in seq_along(op2)) get_freqs[[i]] <- op2[[i]]/rep_totals[i,]
...