結論
dplyr
つかう。
library(dplyr) dt %>% sample_n(100) # 100レコード取り出す dt %>% sample_frac(0.1) # 全レコードの10%を取り出す
dplyr
つかう。
library(dplyr) dt %>% sample_n(100) # 100レコード取り出す dt %>% sample_frac(0.1) # 全レコードの10%を取り出す
たとえばlibrary()
関数が現在のスコープに存在するか確認する場合:
target_function_name <- 'library' exists(target_function_name)
function_argument_biheibia_test <- function(argument1, argument2) { print(argument2) } function_argument_biheibia_test(argument2='test_message') # => "test_message"
ここにiris
がある。
> head(iris) Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa 4 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa
これをPetal.Width
でgroup_by
してn
をカウントしたい時はこうする。
> iris %>% group_by(Petal.Width) %>% summarise(n = n()) Source: local data frame [22 x 2] Petal.Width n 1 0.1 5 2 0.2 29 3 0.3 7 ...
今回は、Petal.Width
を使ってgroup_by
したが、これを動的に指定したい。
group_by_
を使う + キーは変数に入れておく。
> group_by_key <- "Petal.Width" > iris %>% group_by_(group_by_key) %>% summarise(n = n()) Source: local data frame [22 x 2] Petal.Width n 1 0.1 5 2 0.2 29 3 0.3 7
このコードで言うところのgroup_by_key
に任意のカラム名を入れる事でgroup_by
に使うキーを動的に指定できる。
空文字でgrep
する。
$ find . | xargs grep ""
> expand.grid(c('a', 'b', 'c'), c('1', '2', '3')) Var1 Var2 1 a 1 2 b 1 3 c 1 4 a 2 5 b 2 6 c 2 7 a 3 8 b 3 9 c 3
例えば、「10段階にカテゴライズされた年齢」と「性別」に対して組み合わせを求めたい時とかに使う。
止めたい位置でbrowser()
を実行する。
例:
このようなスクリプトがあったとする。
a <- 1
止めたい位置にbrowser()
を挿入する。
a <- 1 browser()
実行時にconsoleが起動し、対話的にコードを実行できる。
Browse[1]> a [1] 1
browser()
が実行された箇所で参照できる変数や関数が自由にいじれる。
これはデバッグに大変便利。