bugfix> r > 投稿

%で始まる特定の関数のパッケージを定義しようとしています。たとえば、 %nin% を見てみましょう Hmisc からの関数パッケージ:

df1 <- "id name
       1   one
       2   two"
df1 <- read.table(text=df1, header=TRUE)
df2 <- "id name
       3   three
       2   two"
df2 <- read.table(text=df2, header=TRUE)
library(Hmisc)
df1[which(df1$id %nin% df2$id),]

次に、パッケージをロードせずに指定すると、エラーが発生します。

  df1[which(df1$id Hmisc::%nin% df2$id),]
Error: unexpected symbol in "df1[which(df1$id Hmisc"

それを正しく行う方法はありますか?

回答 1 件
  • バックコールで呼び出しを囲み、「通常の」関数として使用する必要があります。

    df1[Hmisc::`%nin%`(df1$id, df2$id), ]
    #    id name
    #   1  1  one
    
    

    N.B .: これらの種類の演算子の詳細については、以下を参照してください。R:%in%のような演算子は何と呼ばれ、どのようにそれらについて学ぶことができますか?

あなたの答え