teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

微修正

2021/05/24 03:38

投稿

cuttlefish44
cuttlefish44

スコア85

answer CHANGED
@@ -12,7 +12,8 @@
12
12
  xnum <- grep(target[i], y ,FALSE, TRUE, FALSE)
13
13
  xn <- c(xn, xnum)
14
14
  }
15
+ xn
15
- xn # 1 283281 283344 283371 378933 378975
16
+ # [1] 1 283281 283344 283371 378933 378975
16
17
 
17
18
  ans2 <- apply(target, 1, function(xx) grep(xx, y, FALSE, TRUE, FALSE))
18
19
  unlist(ans2)

2

変数名修正

2021/05/24 03:38

投稿

cuttlefish44
cuttlefish44

スコア85

answer CHANGED
@@ -8,11 +8,13 @@
8
8
  target数にもよりますが、コメントでcwi様が述べられているよう、targetについて繰り返し処理を行う方法もあります。
9
9
  ```r
10
10
  xn <- c()
11
+ for (i in 1:length(target)) {
11
- for (i in 1:length(jusyo_mat)) {xnum <- grep(jusyo_mat[i], y ,FALSE, TRUE, FALSE); xn <- c(xn, xnum)}
12
+ xnum <- grep(target[i], y ,FALSE, TRUE, FALSE)
13
+ xn <- c(xn, xnum)
12
- xn
14
+ }
13
- # [1] 1 283281 283344 283371 378933 378975
15
+ xn # 1 283281 283344 283371 378933 378975
14
16
 
15
- ans2 <- apply(jusyo_mat, 1, function(target) grep(target, y, FALSE, TRUE, FALSE))
17
+ ans2 <- apply(target, 1, function(xx) grep(xx, y, FALSE, TRUE, FALSE))
16
18
  unlist(ans2)
17
19
  # [1] 1 283281 283344 283371 378933 378975
18
20
  ```

1

日本語追記

2021/05/24 03:36

投稿

cuttlefish44
cuttlefish44

スコア85

answer CHANGED
@@ -1,4 +1,4 @@
1
- 愚直に質問に回答するならば、grepのtargetをorを意味する正規表現"|"でpasteすることとなります。
1
+ 愚直に質問に回答するならば、grepのtargetに用いたい候補 or を意味する正規表現"|"でpaste利用することとなります。
2
2
  ```r
3
3
  ans1 <- grep(paste0(target, collapse = "|"), y)
4
4
  ans1