3

我收到以下错误:

UseMethod(“rescale”)中的错误:没有适用于“rescale”的适用方法应用于“c('haven_labelled','vctrs_vctr','double')”类的对象

这是我的情节代码:

ggplot(data_q_agg3, aes(x = 'qmrcms', y = 'count', fill = 'qbncap')) + geom_col(position = "dodge")

data_q_agg3通过这样做创建(见图):

data_q_agg3 <- group_by(na.omit(data_jointest), qbncap, qmrcms) %>%
  summarise(count=n())

data_q_agg3 的图片

data_jointest通过这样做创建(只需将两个数据框添加在一起):

data_jointest <- rbind(data_q_clean2, data_q_clean4, deparse.level = 0)

最后,在尝试制作情节时,我收到以下消息/错误:

Don't know how to automatically pick scale for object of type haven_labelled/vctrs_vctr/double. Defaulting to continuous.

Don't know how to automatically pick scale for object of type haven_labelled/vctrs_vctr/double. Defaulting to continuous.

Error in UseMethod("rescale") : 
  no applicable method for 'rescale' applied to an object of class "c('haven_labelled', 'vctrs_vctr', 'double')"`

一些帮助来解决这个错误将非常感激!!!

4

2 回答 2

0

不容易重现......但我认为你应该首先检查你的 df 是否存在缺失值(例如:df[!is.na(df$n), ])

于 2021-06-14T12:19:45.867 回答
0

我遇到过同样的问题并解决了。该错误是由haven创建不兼容的类类型的包引起的。解决方案是将变量类从更改c('haven_labelled', 'vctrs_vctr', 'double')factornumeric,如下所示,例如:

data_q_agg3$qbncap <- as.numeric(data_q_agg3$qbncap)

或作为因素:

data_q_agg3$qbncap <- as.factor(data_q_agg3$qbncap)

如果您不确定哪个变量有问题,可以使用以下命令一次查看每个变量的类:

sapply(data_q_agg3, class)

例如应用于 mtcars 数据集:

sapply(mtcars, class)
      mpg       cyl      disp        hp      drat        wt      qsec        vs
"numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" 
        am      gear      carb 
"numeric" "numeric" "numeric" 
于 2021-08-06T19:49:34.437 回答