私はほぼ毎日tidyverse(およびその環境)を使用しており、時々以前の/古い分析に戻らなければなりません。残念ながら、パッケージに加えられた変更を追跡するのは簡単ではありません。
このスクリプトはかなり機能的で、私が望むことを実行します(他のコマンドで関数内で使用されます)
ds <- data.frame(result = rnorm(100,5,2),
time = c("1","2"))
library(tidyverse)
library(broom)
ds %>%
summarise_at(vars("result"),
funs(list(tidy(t.test(. ~ time, paired=TRUE))))) %>% map(1)
私はこれが最も洗練された構文ではないことを知っています。現在、このメッセージはコマンドの後に表示されます。
funs()は、dplyr 0.8.0で非推奨になりました。関数またはラムダのリストを使用してください:
# Simple named list:
list(mean = mean, median = median)
# Auto named with `tibble::lst()`:
tibble::lst(mean, median)
# Using lambdas
list(~ mean(., trim = .2), ~ median(., na.rm = TRUE))
それを修正しようとすると、メッセージが表示されます...
> ds %>%
+ summarise_at(vars("result"),
+ lst(tidy(t.test(. ~ time, paired=TRUE)))) %>% map(1)
Error in model.frame.default(formula = . ~ time) :
invalid type (list) for variable '.'
> ds %>%
+ summarise_at(vars("result"),
+ list(list(tidy(t.test(. ~ time, paired=TRUE))))) %>% map(1)
Error in model.frame.default(formula = . ~ time) :
invalid type (list) for variable '.'
> ds %>%
+ summarise_at(vars("result"),
+ list(list(tidy(~ t.test(. ~ time, paired=TRUE))))) %>% map(1)
Error: No tidy method for objects of class formula
だから..最初の質問:それを修正することについての手がかりはありますか?
2番目:これらの(一定の)更新はどこで追跡できますか?
3:コマンドの処理方法を楽しんでいるのでtidyverseを使用します。かなり直感的ですが、これは常に変化する重要な副作用だと思います...すべてのルーチンをRベースに移動しようとすべきですか(おそらく、Rベースはその機能を変更しません...)?
皆さんありがとう。
これはどう?
ds <- data.frame(result = rnorm(100,5,2),
time = c("1","2"))
library(tidyverse)
library(broom)
ds %>%
summarise_at(vars("result"),
list(~ list(tidy(t.test(. ~ time, paired=TRUE))))) %>% map(1)
#> $result
#> # A tibble: 1 x 8
#> estimate statistic p.value parameter conf.low conf.high method
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <chr>
#> 1 -0.719 -1.77 0.0823 49 -1.53 0.0955 Paire~
#> # ... with 1 more variable: alternative <chr>
reprexパッケージ(v0.3.0)によって2019-09-04に作成されました
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加