dplyr 等を使ってフィルタをかけたり、グループ化を行う際に、条件等をテキストで動的に組み立てる例。

サンプルコード

library(dplyr)

df <- data.frame(no = 1:10, value = seq(1, 100, 10))

cat("### ALL ###", "\n")
print(df)

for (i in c(1, 50, 80)) {
  filter_text <- paste("value > ", i)
  filtered <- df %>% dplyr::filter(eval(parse(text = filter_text)))
  cat("###", i, "> ###", "\n")
  print(filtered)
}

結果

### ALL ### 
   no value
1   1     1
2   2    11
3   3    21
4   4    31
5   5    41
6   6    51
7   7    61
8   8    71
9   9    81
10 10    91
### 1 > ### 
  no value
1  2    11
2  3    21
3  4    31
4  5    41
5  6    51
6  7    61
7  8    71
8  9    81
9 10    91
### 50 > ### 
  no value
1  6    51
2  7    61
3  8    71
4  9    81
5 10    91
### 80 > ### 
  no value
1  9    81
2 10    91

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-06-18 (火) 23:23:30 (96d)