Поскольку у вас есть два уровня списков для организации кадров данных, для этого потребуется функция применения вложенного списка (lapply
) - то же самое, что и цикл, но немного лучше. Вот пример, который создает функцию для поднабора списка игр (gameList) на основе максимального уровня (maxLevel):
listSubset <- function(x, maxLevel){
lapply(x, function(ls){
lapply(ls, function(df) df[df[[grep('Level', names(df), value = TRUE)]] < maxLevel, ])
})
}
listSubset(x = gameList, maxLevel = 6)
Выход:
Поскольку у вас есть два уровня списков для организации кадров данных, для этого потребуется функция применения вложенного списка (lapply
) - то же самое, что и цикл, но немного лучше. Вот пример, который создает функцию для поднабора списка игр (gameList) на основе максимального уровня (maxLevel):
[110] Выход:
FEB_gems`
Поскольку у вас есть два уровня списков для организации кадров данных, для этого потребуется функция применения вложенного списка (lapply
) - то же самое, что и цикл, но немного лучше. Вот пример, который создает функцию для поднабора списка игр (gameList) на основе максимального уровня (maxLevel):
[110] Выход:
FEB_gems` Поскольку у вас есть два уровня списков для организации кадров данных, для этого потребуется функция применения вложенного списка (lapply
) - то же самое, что и цикл, но немного лучше. Вот пример, который создает функцию для поднабора списка игр (gameList) на основе максимального уровня (maxLevel):
[110] Выход:
GAME1`
[1] GAME1_Class GAME1_Race GAME1_Alignment GAME1_Level GAME1_Alive
<0 rows> (or 0-length row.names)
Поскольку у вас есть два уровня списков для организации кадров данных, для этого потребуется функция применения вложенного списка (lapply
) - то же самое, что и цикл, но немного лучше. Вот пример, который создает функцию для поднабора списка игр (gameList) на основе максимального уровня (maxLevel):
[110] Выход:
FEB_gems`$GAME2
GAME2_Class GAME2_Race GAME2_Alignment GAME2_Level GAME2_Alive
1 fighter elf NE 5 n
2 wizard half-elf CG 5 y
3 cleric elf CE 5 y
4 monk human NN 5 y
5 bard dwarf LG 5 y
$MAR_gems
$MAR_gems Поскольку у вас есть два уровня списков для организации кадров данных, для этого потребуется функция применения вложенного списка (lapply
) - то же самое, что и цикл, но немного лучше. Вот пример, который создает функцию для поднабора списка игр (gameList) на основе максимального уровня (maxLevel):
[110] Выход:
GAME3`
GAME3_Class GAME3_Race GAME3_Alignment GAME3_Level GAME3_Alive
1 cleric elf LG 1 y
2 barbarian half-elf LG 1 y
3 warlock elf CE 1 y
4 ranger human LN 1 n
5 monk dwarf LG 1 y
$MAR_gems$GAME4
GAME4_Class GAME4_Race GAME4_Alignment GAME4_Level GAME4_Alive
1 paladin elf CE 5 n
2 fighter half-elf CG 5 y
3 wizard elf CE 5 y
4 sorcerer human LN 5 y
5 rouge dwarf LG 5 y
Все функции находятся в базе R, поэтому не нужно устанавливать и изучать новые пакеты.
Из VS для запуска PSH с дополнительным сценарием (для проекта Cmdlet) я использую следующую командную строку:
powershell -noexit -command ". ./Startup.ps1"
-noexit будет иметь в наличии экземпляр (таким образом, Вы не хотели бы это), помещение всех реальных команд в сценарии, который будет получен точкой, избегает действительно долгой командной строки.