Rで解析:組み合わせに関数の適応が楽々です!「crossmap」パッケージ

Rの解析に役に立つ記事
スポンサーリンク

リストで指定したデータの全組み合わせに関数を適応するパッケージの紹介です。大変便利なパッケージだと思います。

パッケージバージョンは0.3.3。実行コマンドはwindows 11のR version 4.2.1で確認しています。

スポンサーリンク

パッケージのインストール

下記、コマンドを実行してください。

#パッケージのインストール
install.packages("crossmap")

2サイズのケトルベルとダンベルのAmazonアソシエイトの紹介

パフォーマンスを発揮するには体が資本です。ケトルベルとダンベルは多くの筋トレのメニュが可能です。ケトルベルやダンベルも「からだにいいもの」です。実験的な紹介です。

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("crossmap")

#結果を文字で出力:map_chrコマンド
#listでデータを指定:.lオプション
#関数を指定:.fオプション
xmap_chr(.l = list(1:2, 3:4, 5:6),
         .f = ~ paste(..1, "/", ..2, "+", ..3, "=",
                      ..1 / ..2 + ..3))
[1] "1 / 3 + 5 = 5.33333333333333" "2 / 3 + 5 = 5.66666666666667" "1 / 4 + 5 = 5.25"            
[4] "2 / 4 + 5 = 5.5"              "1 / 3 + 6 = 6.33333333333333" "2 / 3 + 6 = 6.66666666666667"
[7] "1 / 4 + 6 = 6.25"             "2 / 4 + 6 = 6.5" 

#結果を実数で出力:xmap_dblコマンド
xmap_dbl(.l = list(1:2, 3:4, 5:6),
         .f = ~ ..1 / ..2 + ..3)
[1] 5.333333 5.666667 5.250000 5.500000 6.333333 6.666667 6.250000 6.500000

#結果を整数で出力:xmap_intコマンド
xmap_int(.l = list(1:2, 3:4, 5:6),
         .f = ~ ..1 + ..2 - ..3)
[1] -1  0  0  1 -2 -1 -1  0

#結果をmatrixで出力:xmap_matコマンド
xmap_mat(.l = list(1:5, 3:4),
         .f = ~ ..1 + ..2)
#  3 4
#1 4 5
#2 5 6
#3 6 7
#4 7 8
#5 8 9

#結果をTRUE/FALSEで出力:xmap_intコマンド
xmap_lgl(.l = list(1:2, 3:4, 5:6),
         .f = ~ ..1 + ..2 - ..3 < 0)
[1]  TRUE FALSE FALSE FALSE  TRUE  TRUE  TRUE FALSE

#&#32080;&#26524;&#12434;tibble&#24418;&#24335;&#12391;&#20986;&#21147;:cross_tbl&#12467;&#12510;&#12531;&#12489;
cross_tbl(&#12363;&#12425;&#12384; = c("&#12363;", "ra", "&#12384;"), Data = 1:4)
# A tibble: 12 &times; 2
#   &#12363;&#12425;&#12384;  Data
#   <chr>  <int>
# 1 &#12363;         1
# 2 ra         1
# 3 &#12384;         1
# 4 &#12363;         2
# 5 ra         2
# 6 &#12384;         2
# 7 &#12363;         3
# 8 ra         3
# 9 &#12384;         3
#10 &#12363;         4
#11 ra         4
#12 &#12384;         4

#&#21336;&#19968;&#12505;&#12463;&#12488;&#12523;&#12434;&#32368;&#12426;&#36820;&#12375;&#20966;&#29702;&#12377;&#12427;:map_vec&#12467;&#12510;&#12531;&#12489;
map_vec(.x = c("karada", "&#12356;&#12356;&#12418;&#12398;"),
        .f = paste0, "_good")
[1] "karada_good"   "&#12356;&#12356;&#12418;&#12398;_good"

#2&#12505;&#12463;&#12488;&#12523;&#12434;&#32368;&#12426;&#36820;&#12375;&#20966;&#29702;&#12377;&#12427;:map2_vec&#12467;&#12510;&#12531;&#12489;
map2_vec(.x = c("karada", "&#12356;&#12356;&#12418;&#12398;"),
         .y = c("Good", "&#12363;&#12425;&#12384;"),
         .f = paste0, "_good")
[1] "karadaGood_good"     "&#12356;&#12356;&#12418;&#12398;&#12363;&#12425;&#12384;_good"

少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました