Я хочу запустить функцию на каждом уровне переменной data.frame в зависимости от состояния каждого уровня другой переменной data.frame (или списков, если по какой-то причине с ними лучше работать).
Если одна из переменных достигает определенного условия (например,> 15), я хочу запустить простую функцию (например, product) для каждой пары переменных и добавить результаты в новый список. Ради своих потребностей и будущих потребностей, я надеюсь на
Гибкое решение для любых условий и любых функций.
Я новичок в программировании / R и не знаю, как правильно структурировать цикл for (или другой метод), чтобы запустить функцию для всех комбинаций элементов в обеих переменных data.frame. Кажется, что это должно быть действительно легко достичь, но я искал часы и не могу найти решение.
Это вложенный код цикла, над которым я работаю:
df1 <- data.frame(c(1, 2, 3))
df2 <- data.frame(c(10, 20, 30))
list1 <- list()
for (i in 1:length(df1)) {
for (j in 1:length(df2)) {
if (df2[j,] > 15) {
list1[[i]] <- df1[i,] * df2[j,]}
}}
list1
Когда я запускаю текущий код, я получаю и очищаю результаты списка: list ().
То, что я хочу вернуть, выглядит примерно так:
[[1]]
[1] 20
[[2]]
[1] 30
[[3]]
[1] 40
[[4]]
[1] 60
[[5]]
[1] 60
[[6]]
[1] 90