lapply () в списке фреймов данных - PullRequest
0 голосов
/ 21 февраля 2020

Я хочу применить ту же функцию к списку фреймов данных и создать новый список с новыми фреймами данных. На самом деле, я очень близок к решению проблемы, но остановился и не смог найти решение онлайн.

O_peaks = lapply(O, function(x){
               get_peaks(O[[x]][[1]], O[[x]][[2]], 
                         ignore_threshold = 0, span = 71, strict = TRUE, x_unit = "", x_digits = 3)
}) 

Я думаю, что неправильно использовал [[x]]. Я протестировал похожий код:

O_peaks = lapply(O, function(x){
  get_peaks(O[[1]][[1]], O[[1]][[2]], 
            ignore_threshold = 0, span = 71, strict = TRUE, x_unit = "", x_digits = 3)
    })

. В этом случае я получаю новый список с тем же числом фреймов данных в O, но поскольку я написал O[[1]][[1]], O[[1]][[2]], новые фреймы данных содержат только информацию из первого фрейм данных в O.

Есть ли какие-либо предложения о том, как применить одну и ту же функцию ко всем моим фреймам данных?

Заранее спасибо.

1 Ответ

0 голосов
/ 21 февраля 2020

X, который вы используете для индексации, - это каждый из фреймов данных в вашем списке, так что это, вероятно, не то, что вам нужно. И когда вы пишете O[[1]][[1]], вы запрашиваете первый столбец в первом кадре данных в вашем списке. Если у вас есть функция, скажем, foo, которая принимает фрейм данных в качестве параметра и возвращает нужный фрейм данных, можно выполнить что-то вроде

lapply(O, foo)
...