簡體   English   中英

R data.frame(...,check.names = FALSE)中的錯誤:參數暗示行數不同:5、3

[英]R Error in data.frame(…, check.names = FALSE) : arguments imply differing number of rows: 5, 3

因此,我使用來自'sjPlot'包中的sjp.likert函數,繪制了一系列不同數據框的圖表,其中它們的列對應於遵循Likert格式的不同問題。

確切的數據幀復制如下:

col_1 <- c(2,1,1,5)
col_2 <- c(2,1,1,2)
col_3 <- c(2,1,1,2)
col_4 <- c(2,1,1,2)
col_5 <- c(2,1,1,5)

df <- as.data.frame(cbind(col_1,col_2,col_3,col_4,col_5))

按照“ sjPlot”軟件包的說明,我為問題以及可能的答案(值標簽)提供了標簽。

question.labels <- c("Las personas de mi Equipo están calificadas adecuadamente para desempeñar su trabajo",
"Mi equipo es eficiente para solucionar problemas sin perder tiempo en encontrar culpables",
 "Mi área busca formas de hacer los procesos de manera inteligente y eficiente", 
 "El ambiente en mi área es generalmente bueno", 
 "En mi Equipo tenemos una dinámica de trabajo que permite nuestro mejor desempeño")

value.labels <- c("strongly agree", "agree", "disagree", "strongly disagree",
  "neither agree or disagree")

然后,我使用sjp.likert函數生成圖:

sjp.likert(df, axisLabels.y = question.labels, legendLabels = value.labels)

但是我收到以下錯誤:

 Error in data.frame(..., check.names = FALSE) :    arguments imply differing number of rows: 5, 3

雖然使用以下數據框沒有問題:

col_a <- c(2,3,1,2,2,1)
col_b <- c(2,4,2,5,2,2)
col_c <- c(2,3,2,2,2,2)
col_d <- c(2,2,1,2,2,1)
col_e <- c(3,5,1,2,2,1)

df2 <- cbind(col_a,col_b,col_c,col_d,col_e)

在df2中,存在所有可能的值,從1到5,這是與df的唯一區別,其中只有1,2和5是可能的值。 因此,我認為這可以解釋錯誤,數據框中有3個可能的值,而value.labels包含5個不同的選項。 但是,即使我從函數中刪除了LegendLabels參數(因此實際值與所有可能的標簽之間也沒有不一致),當嘗試繪制df時,我仍然會遇到相同的錯誤。

有什么提示嗎?

該功能需要知道要工作的項目類別的數量。 通常,這是通過檢查data.frame自動完成的。

如果這對您不起作用,請嘗試使用catcount參數:

catcount = 4

應該管用。 我在當前的開發人員版本( 請參閱Github )中改進了catcount檢測,如果需要此參數,它還會警告用戶。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM