大きなデータ フレームがあり、データ フレーム内のグループに基づいて文字列を作成して、shinyTreeに表示しようとしています。
データの例を次に示します。
dat <- data.frame("region" = c(paste("region", rep(1:3, each=4))),
"area" = c(paste("area", rep(1:6, each=2))),
"name" = c(paste("name",1:12)))
shinyTree
次のような文字列でデータを構成する必要があります。
listString <- paste0("list('region 1' = list('area 1' = list('name 1'='', 'name 2'=''),
'area 2' = list('name 3'='', 'name 4'='')),
'region 2' = list('area 3' = list('name 5'='', 'name 6'=''),
'area 4' = list('name 7'='', 'name 8'='')),
'region 3' = list('area 5' = list('name 9'='', 'name 10'=''),
'area 6' = list('name 11'='', 'name 12'='')))")
dplyr で mutate とグループを使用してこの文字列を作成する方法はありますか? 要素は、"list("
各グループの最初のオカレンスに連結する必要があります。
for
ネストされたループとネストされたlapply()
関数を使用して高速化を試みcompiler::cmpfun()
ましたが、これは構築するには遅すぎることが証明されています。私のデータには 5 つの「レベル」と最大 3000 行があり、処理に最大 30 秒かかります。これは光沢のあるアプリケーションには遅すぎます。
どんな助けでも大歓迎です。