華麗なmiパッケージを使用しているときに、欠落しているデータの代入とティブルについて、予期しない動作に遭遇しました (少なくとも、私には予期していませんでした)。
Bと呼ばれるティブルを想定しましょう。問題のあるコマンドは次のとおりです:-
A <- missing_data.frame(B)
結果のエラーメッセージは次のとおりです:-
.guess_type(y、favor_ordered、favor_positive、threshold、variable_name) のエラー [[B の最初の変数の名前]] はベクトルでなければなりません
この例では、動作を再現しています。
# Make the test data frames and tibbles
Numbers <- sample(seq(1:200),40)
Numbers2 <- sample(seq(1:200),40)
Numbers3 <- sample(seq(1:200),40)
Letters <- sample(letters,40,replace=TRUE)
#Mixed numeric and character data
DF.test <- data.frame(Numbers,Letters)
str(DF.test) #Number, Factor
DF.test2 <- data.frame(Numbers,Letters,stringsAsFactors = FALSE)
str(DF.test2) #Number, Character
Tibble.test <- data_frame(Numbers,Letters)
str(Tibble.test) #Number, Character
# Run the tests
DF.mdf <- missing_data.frame(DF.test) # Fine
DF2.mdf <- missing_data.frame(DF.test2) # Fine
Tibble.mdf <- missing_data.frame(Tibble.test) # ERROR
Tibble.mdf <- missing_data.frame(data.frame(Tibble.test)) # Fine
#Purely numeric data
Tibble.test2 <- data_frame(Numbers,Numbers2,Numbers3)
str(Tibble.test2) # Number, Number, Number
# Run the tests
Tibble.mdf2 <- missing_data.frame(Tibble.test2) # ERROR
Tibble.mdf2 <- missing_data.frame(data.frame(Tibble.test2)) # Fine
miは、データフレームではなく、tibble で何かに反対しているようです。エラーメッセージは役に立ちません。ティブルをデータフレームに強制的に戻すことで簡単に修正できますが、ドキュメントでこの問題について言及されていません。私はmiの内部にまったくなじみがありません。
基本的なもの、またはドキュメントの何かが欠けていますか、それともこれは本当に予期しない動作ですか? すべての支援、コメント、解釈を歓迎します。