Я пытаюсь разбить фрейм данных на более мелкие фреймы данных и сопоставить их с определенной функцией, если они удовлетворяют условию именования функции. Я пробовал много способов с purrr map
для непосредственного разделения, используя map_if, но мне не повезлоСейчас я работаю с split
и lapply
Так что я напишу код, где я застрял сейчас.
x <- split(mtcars , mtcars$cyl)
lapply(x, function(x){
print(names(x))
})
то, что я должен получить, это:
4
6
8
, что я получаю
[1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear" "carb"
[1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear" "carb"
[1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear" "carb"
$`4`
[1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear" "carb"
$`6`
[1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear" "carb"
$`8`
[1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear" "carb"
Похоже, что он входит в предмет напрямую, без возможностидля извлечения родительского имени элемента изнутри применить.
Любые рекомендации о том, как бы вы сделали, это будет полезно?
Обновление
вот что я хочу сделать в пустышкекод
x <- split(mtcars , mtcars$cyl)
lapply(x, function(x){
if(names(x) == 4){
somefunction(x)
}
})