dplyr
,tidyr
およびpurrr
を試しています。私は一度に複数の列を操作するためmutate_at()
のようなものを行うことができますので、ネストされたデータフレーム列でmutate_at()を使用して複数のネストされていない列を生成する
library(tidyverse)
set.seed(123)
df <- data_frame(X1 = rep(LETTERS[1:4], 6),
X2 = sort(rep(1:6, 4)),
ref = sample(1:50, 24),
sampl1 = sample(1:50, 24),
var2 = sample(1:50, 24),
meas3 = sample(1:50, 24))
今dplyr
は素晴らしいです:私はこのようなデータを持っています。例:元のデータを保持したまま、私はこれらのサブテーブルをまとめることができpurrr
に
df <- df %>% nest(-X1)
と感謝:
df <- df %>%
mutate_at(vars(-one_of(c("X1", "X2", "ref"))), funs(first = . - ref)) %>%
mutate_at(vars(contains("first")), funs(second = . *2))
とtidyr
は私の単一の列にサブテーブルなどのデータの巣のサブセットを可能に
どのように私は、複数の要約columを生成するpurrr
とmutate_at()
を使用することができます。ネストされた列でns(各ネストされたサブテーブルの異なる(ただしすべてではない)列の手段をとる)?
この例では、「second」という単語を持つすべての列の平均をとっておきたいと思います。これは新しいネストされた列を生成する可能性がありましたが、それはunnest()
でしたが動作しません。
df %>% mutate(mean = map(data, ~ mutate_at(vars(contains("second")),
funs(mean_comp_exp = mean(.)))))
どうすればこの問題を解決できますか?
あなたは 'mutate_at'の最初の引数としてデータセットを渡すのを忘れ:' 〜mutate_at(.x、vars ...) ' – aosmith