2017-07-27 19 views
0

私のデータセットのLDAモデルの結果にtidy関数を適用すると、次のエラーが発生します。 eval(substitute(expr)、envir、enclos):バインディングが見つかりません: 'Var1' "関連するプレスの例で使用すると、以下のように同じエラーが発生します。私はdevtools :: install_github( "juliasilge/tidytext")を使ってtidytextを再インストールしようとしましたが、私はまだ同じ結果を得ています。私が試すことができる何か他にありますか?tidy eval(substr(expr)、envir、enclos)のエラー:バインディングが見つかりません: 'Var1'

ライブラリ(tidyr) ライブラリ(tidytext) ライブラリ(tidyverse) ライブラリ(topicmodels) ライブラリ(ほうき)

データ( "AP通信") AP通信

ap_lda < - LDA(AP通信、K = 2、コントロール=リスト(シード= 1234)) ap_lda

ap_topics < - 整頓(ap_lda、マトリックス= "ベータ") ap_topics

<> 非/スパースエントリ:23220327分の302031 スパーシティ:99% 最大用語長さ:18 重み付け:用語頻度(TF)

ap_lda < - LDA(AP通信、 k = 2、control = list(seed = 1234) ap_lda トピックが2つあるLDA_VEMトピックモデル。

ap_topics < - 整頓(ap_lda、行列= "ベータ")evalの中 エラー(代替(expr)は、ENVIR、enclos): が見つからないバインディング: 'VAR1' ap_topics

答えて

1

私はできませんこの問題を再現してください。

library(tidyverse) 
library(tidytext) 
library(broom) 
library(topicmodels) 

data("AssociatedPress", package = "topicmodels") 
AssociatedPress 
#> <<DocumentTermMatrix (documents: 2246, terms: 10473)>> 
#> Non-/sparse entries: 302031/23220327 
#> Sparsity   : 99% 
#> Maximal term length: 18 
#> Weighting   : term frequency (tf) 

ap_lda <- LDA(AssociatedPress, k = 2, control = list(seed = 1234)) 
ap_lda 
#> A LDA_VEM topic model with 2 topics. 

ap_topics <- tidy(ap_lda, matrix = "beta") 
ap_topics 
#> # A tibble: 20,946 x 3 
#> topic  term   beta 
#> <int>  <chr>  <dbl> 
#> 1  1  aaron 1.686917e-12 
#> 2  2  aaron 3.895941e-05 
#> 3  1 abandon 2.654910e-05 
#> 4  2 abandon 3.990786e-05 
#> 5  1 abandoned 1.390663e-04 
#> 6  2 abandoned 5.876946e-05 
#> 7  1 abandoning 2.454843e-33 
#> 8  2 abandoning 2.337565e-05 
#> 9  1  abbott 2.130484e-06 
#> 10  2  abbott 2.968045e-05 
#> # ... with 20,936 more rows 

あなたは多分、ロードされた別のパッケージを持っていますか?別のユーザーがreshapeパッケージに問題がありました。

+0

私はlda_tidierと同じ問題に直面して、変形が問題と思われました。ライブラリの変形をロードしている以外の修正はありますか? – ar7

+0

現時点ではありません。両方のパッケージの内部構造に関連しています。これはあなたがすでにやっていることが分かっているかもしれませんが、記録のために両方のパッケージをロードするのではなく、単に '::'を使って関数にアクセスすることができます。したがって、 'library(reshape)'と入力せず、 'reshape :: melt()'のような関数を呼び出してください。 –

関連する問題