3

我的数据:

        Q5         Q6          Q7
1   Not Agree   Neutral     Not Agree
2   Not Agree   Neutral     Neutral
3   Not Agree   Agree       Agree
4   Not Agree   Agree       Neutral
5   Neutral     Not Agree   Neutral
6   Not Agree   Agree       Neutral
7   Not Agree   Neutral     Neutral
8   Neutral     Agree       Neutral
9   Agree       Neutral     Not Agree
10  Neutral     Agree       Neutral
Q567[1:3] <- lapply(Q567[1:3], factor, levels= c("Agree", "Neutral", "Not Agree"), ordered = TRUE)

likert(Q567) %>%
  plot(type = "bar")

我的数据是什么样的
我的数据是什么样的

我将它们转换为带有级别的因子,为什么我仍然收到错误

Error in likert(Q567) : All items (columns) must have the same number of levels
4

2 回答 2

4

我遇到了同样的问题,发现我正在使用的集合是一个 tibble,而不是一个 data.frame:

data <- as.data.frame(data) 

为我修好了。

于 2021-06-17T07:24:47.687 回答
0

您只将数据帧的前三列重新编码为因子,但您将整个数据帧传递给likert. 该likert函数期望变量Q567是因子。因此,我相信您在数据框中还有其他列不是,这会导致您的错误。

您应该执行以下操作:

likert(Q567[,1:3]) %>% 
  plot(type = 'bar')
于 2021-01-12T23:50:21.793 回答