在使用出色的mi包时,我遇到了意外的行为(至少,我没有预料到),因为缺少数据插补和 tibbles。
让我们假设一个名为 B 的小标题。有问题的命令是:-
A <- missing_data.frame(B)
产生的错误信息是:-
.guess_type(y, favour_ordered, favour_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反对 tibbles 中的某些东西,但不是数据框中的东西。错误消息没有帮助。通过将 tibble 强制回数据框很容易解决,但我在文档中没有看到这个问题的提及。我对mi的内脏完全不熟悉。
我是否遗漏了一些基本的东西,或者文档中的一些东西,或者这真的是出乎意料的行为?欢迎所有帮助、评论和解释。