0
私は回避方法がわからないネストとマッピングに問題があります。私は、ネストされたデータフレームのそれぞれにdef.increase列の合計を見つける必要がありマップでネストされたデータフレームに関数を適用する
> x
# A tibble: 18 × 3
event.no data dr.dur
<dbl> <list> <int>
1 1 <tibble [7 × 4]> 7
2 4 <tibble [123 × 4]> 123
3 5 <tibble [9 × 4]> 9
4 7 <tibble [14 × 4]> 14
5 10 <tibble [19 × 4]> 19
6 11 <tibble [220 × 4]> 220
7 12 <tibble [253 × 4]> 253
8 14 <tibble [153 × 4]> 153
9 15 <tibble [28 × 4]> 28
10 17 <tibble [169 × 4]> 169
11 18 <tibble [7 × 4]> 7
12 19 <tibble [115 × 4]> 115
13 21 <tibble [109 × 4]> 109
14 25 <tibble [13 × 4]> 13
15 26 <tibble [249 × 4]> 249
16 28 <tibble [7 × 4]> 7
17 30 <tibble [26 × 4]> 26
18 31 <tibble [12 × 4]> 12
>
> x$data[[1]]
# A tibble: 7 × 4
discharge threshold def.increase event.orig
<dbl> <dbl> <dbl> <dbl>
1 0.348 0.373 2160.0 1
2 0.348 0.373 2160.0 1
3 0.379 0.373 -518.4 0
4 0.379 0.373 -518.4 0
5 0.379 0.373 -518.4 0
6 0.379 0.373 -518.4 0
7 0.348 0.373 2160.0 2
>
次のように私は、ネストされたデータフレームとtibbleを持っています。
> x %>%
+ mutate(dr.def = map(data, colSums)) %>%
+ unnest(dr.def)
# A tibble: 72 × 3
event.no dr.dur dr.def
<dbl> <int> <dbl>
1 1 7 2.560
2 1 7 2.611
3 1 7 4406.400
4 1 7 4.000
5 4 123 45.739
6 4 123 45.879
7 4 123 12096.000
8 4 123 530.000
9 5 9 3.269
10 5 9 3.357
# ... with 62 more rows
は明らかにこれの問題は、私はすべての列からの和で終わるということです。私は今、この権利を行うための最善の方法のわからない、これは私がしようとしてきたものです。これは大丈夫でしょうが、後で私が望む行だけを選択するのはかなり面倒です。私の
def.increase
列それぞれの列合計を見つける良い方法はありますか?ご協力いただきありがとうございます:)
編集:(それが許可されていますならば)私がコピーできる場合は/ので、ここで私のx
のようなオブジェクトを貼り付けるわからないがwetransfer上のRDSへのリンクです:https://wetransfer.com/downloads/9697fff593f51c02136bc704adccbcc220170112161115/5be1fc
:1つのマップと
それとも:最初の
def.increase
列を選択y。私はネストされたデータやマッピングを長い間使っていません。 'map_dbl'は知っておくと優れています - 私は' map'にサフィックスを付けることもできなかった – Visser