68658


RMeCabFreq()を用いて形態素解析した結果から、  
以下のように関数を用いてデータクレンジングしようと試みているのですが、  
filter()を用いた関数を定義し、それを実行しようとすると  
予期せぬエラーが発生してしまい、困っています。

エラー文でいろいろと調べてみたのですが、  
私と同じようなエラーが発生している事例は発見できず…。

ご助言をいただければ幸いです。

**データ** （データ名：kuchikomi1.txt、文字コードはANSI）  
また大容量が出て欲しいです、、、！( _^^_ )

**コード**

[code]

    #作業ディレクトリの指定、---、-----は伏字
    setwd("C:/Users/---/OneDrive/R/-----")
    
    #必要になるライブラリの読み込み
    library("RMeCab")
    library("stringr")
    
    #名詞、形容詞、動詞、副詞の抽出
    result0 <- RMeCabFreq("kuchikomi1.txt") 
    result1 <- subset(result0, result0$Info1 == "名詞"|result0$Info1 == "形容詞"|result0$Info1 == "動詞"|result0$Info1 == "副詞")
    
    #不要な情報を除去するための関数の定義
    trush_delete <- function (x) {
      x <- filter(x, (Info1 == "名詞"|Info1 == "形容詞"|Info1 == "動詞"|Info1 == "副詞"),
                     str_detect(x$Term, '[:punct:]') == 'FALSE',
                     str_detect(x$Term, '[A-z0-9]') == 'FALSE',
                     str_detect(x$Term, '[Α-ω]') == 'FALSE',
                     str_detect(x$Term, '[А-я]') == 'FALSE'
      )
    }
    
    #形態素解析した結果に対して関数の実行
    result <- trush_delete(result1)
    
[/code]

**表示されるエラー**

[code]

     match.arg(method) でエラー: 'arg' must be NULL or a character vector
    
[/code]

この"match.arg(method)"というものがいまいちよくわからず…。  
その点も説明していただけると大変嬉しいです。


CC BY-SA 4.0
2020-07-14T06:34:16.267
68577
2020-07-17T00:45:27.443
2020-07-16T05:13:16.020
40976
40976
question
r
Rにおける関数の代入のmatch.arg(method)でのエラーについて


`filter()` 関数の使い方を間違えています. まず, `Info1`
というオブジェクトを参照していますが提示されたコード中にはそのようなオブジェクトはありません. おそらく `dplyr` パッケージの `filter()`
と混同して, `x` 内の `Info1` 列にアクセスしたいという意図でしょうから, 事前に

[code]

    require(dplyr)
    
[/code]

で `dplyr` を読み込めば少なくとも同様のエラーが発生しなくなります(もちろんこのパッケージをインストールしている前提です)

また, そうなると `x$term` の `x$` の部分も不要になります (このケースでは結果は変わらないと思います)


CC BY-SA 4.0
2020-07-17T00:45:27.443
68658
2020-07-17T00:45:27.443
40575
68577
answer