[解決済み] Rエラー:約束はすでに評価中です[重複]。
2022-02-09 09:12:30
質問
このエラーを修正する方法をどなたか教えてください。私はすべてのコードを提供していないことを認識しています。データはよく知られている天気予報のゴルフデータからです。私が得ているエラーは エラー in probPCNB(varClass = "play", valueClass = i, inputVar1 = "windy", : promise already under evaluation: recursive default argument reference or earlier problems? この種の問題に対する回答はいくつか見ましたが、正確には理解できていませんし、特にこの場合はそうです。このエラーに対応した他の質問もありますが、この場合、どこからがエラーなのかがよくわかりません。
golf=read.csv(file="weather.nominal.csv")
df=as.data.frame(golf)
df$names<-rownames(df)
conditional_prob_bool <- function(spec11, spec12, spec21, spec22, df){
consequent_bool <- df[,spec11] == spec12
consequent_event <- df[consequent_bool,]
antecedent_bool <- df[,spec21] == spec22
antecedent_event=df[antecedent_bool,]
return(prob(intersect_event(consequent_event,antecedent_event,df),df)/prob(antecedent_event,df))
}
predNBVar2=function(varClass='play',inputVar1='windy',var1Level='TRUE',inputVar2='humidity',var2Level="high",df=df){
##probPCNB(varClass='play', valueClass='yes', inputVar1='windy',var1Level='TRUE',inputVar2='humidity',var2Level="high",df)
#browser()
#lev2=levels(df[,varClass])
lev2=c('yes','no')
#lev2=levels(df$varClass)
countt=0
classprob=0
predictedclass=lev2[1]
for(i in lev2){
p=probPCNB(varClass='play', valueClass=i, inputVar1='windy',var1Level='TRUE',inputVar2='humidity',var2Level="high",df=df)
if(classprob<p){
classprob=p
predictedclass=i
}
}
return(paste("best",predictedclass," with measure",classprob ))
}
probPCNB=function(varClass='play', valueClass='true', inputVar1='windy',var1Level=TRUE,inputVar2='humidity',var2Level='high',df){
#browser()
A_bool=df[,inputVar1]==var1Level & df[,inputVar2]==var2Level
A=df[A_bool,]
class_bool=df[,varClass]==valueClass
classE=df[class_bool,]
numerator=prob(classE,df)*conditional_prob_bool(inputVar1, var1Level,varClass,valueClass,df)*conditional_prob_bool(inputVar2, var2Level,varClass,valueClass,df)
lev=levels(df[,varClass])
denominator=0
for(i in lev){
class_bool=df[,varClass]==i
classE=df[class_bool,]
class=i
denominator= denominator+(prob(classE,df)*conditional_prob_bool(inputVar1, var1Level,varClass,class,df)*
conditional_prob_bool(inputVar2, var2Level,varClass,class,df))
}
return(numerator/denominator)
}
predNBVar2()
解決方法は?
引数df=dfが原因です。
dfを他の名前に変更すれば、動作するはずです。
もご覧ください。 promise already under evaluation: recursive default argument reference or earlier problems?
golf=read.csv(file="weather.nominal.csv")
df=as.data.frame(golf)
df$names<-rownames(df)
conditional_prob_bool <- function(spec11, spec12, spec21, spec22, df){
consequent_bool <- df[,spec11] == spec12
consequent_event <- df[consequent_bool,]
antecedent_bool <- df[,spec21] == spec22
antecedent_event=df[antecedent_bool,]
return(prob(intersect_event(consequent_event,antecedent_event,df),df)/prob(antecedent_event,df))
}
predNBVar2=function(varClass='play',inputVar1='windy',var1Level='TRUE',inputVar2='humidity',var2Level="high",df_predNBVar2=df){
##probPCNB(varClass='play', valueClass='yes', inputVar1='windy',var1Level='TRUE',inputVar2='humidity',var2Level="high",df_predNBVar2)
#browser()
#lev2=levels(df[,varClass])
lev2=c('yes','no')
#lev2=levels(df$varClass)
countt=0
classprob=0
predictedclass=lev2[1]
for(i in lev2){
p=probPCNB(varClass='play', valueClass=i, inputVar1='windy',var1Level='TRUE',inputVar2='humidity',var2Level="high",df=df_predNBVar2)
if(classprob<p){
classprob=p
predictedclass=i
}
}
return(paste("best",predictedclass," with measure",classprob ))
}
probPCNB=function(varClass='play', valueClass='true', inputVar1='windy',var1Level=TRUE,inputVar2='humidity',var2Level='high',df){
#browser()
A_bool=df[,inputVar1]==var1Level & df[,inputVar2]==var2Level
A=df[A_bool,]
class_bool=df[,varClass]==valueClass
classE=df[class_bool,]
numerator=prob(classE,df)*conditional_prob_bool(inputVar1, var1Level,varClass,valueClass,df)*conditional_prob_bool(inputVar2, var2Level,varClass,valueClass,df)
lev=levels(df[,varClass])
denominator=0
for(i in lev){
class_bool=df[,varClass]==i
classE=df[class_bool,]
class=i
denominator= denominator+(prob(classE,df)*conditional_prob_bool(inputVar1, var1Level,varClass,class,df)*
conditional_prob_bool(inputVar2, var2Level,varClass,class,df))
}
return(numerator/denominator)
}
predNBVar2()
関連
-
[解決済み] テスト
-
[解決済み】R ggplot2 で scale_x_discrete を使用する。
-
[解決済み】R 置換する項目数が置換長の倍数でない/しかし結果は正しい
-
[解決済み] ヒートマップ作成時のエラー - 外部関数呼び出しでNA/NaN/Inf (arg 11)
-
[解決済み】Rでデータフレームのサブセットをプロットする方法は?
-
[解決済み】二項演算子への非数値引数【非公開
-
[解決済み】エラー - replacement has [x] rows, data has [y].
-
[解決済み】Rで結果の行数がベクトル長(arg 2)の倍数でない件
-
[解決済み】.External.graphics Rでエラーが発生しました。
-
[解決済み] プロミスはすでに評価中:再帰的なデフォルトの引数参照、または以前の問題?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 変数の型(リスト)が無効です
-
[解決済み】scale_color_manual()が動作しない件
-
[解決済み】LMEモデルのレベル0、ブロック1でのバックソルブにおける特異性
-
[解決済み】データのマージ - fix.by(by.x, x)のエラー)
-
[解決済み】「Error in stripchart.default(x1, ...) : invalid plotting method」エラーを回避する方法は?
-
[解決済み】Rの整数オーバーフローとは何ですか、そしてどのように起こるのですか?
-
[解決済み】R: predict() の数値 'envir' 引数が長さ1でない。)
-
[解決済み】R 置換する項目数が置換長の倍数でない/しかし結果は正しい
-
[解決済み】"object not interpretable as a factor "というエラーの意味は?[クローズド]
-
[解決済み] プロミスはすでに評価中:再帰的なデフォルトの引数参照、または以前の問題?