2015-06-09 3 views
0

Так что я использую функцию sjp.likert из пакета de 'sjPlot, чтобы сделать серию графиков различных кадров данных, в которых их столбцы соответствуют различным вопросам, которые следуют за идентификационным форматом.R Ошибка в data.frame (..., check.names = FALSE): аргументы подразумевают различное количество строк: 5, 3

Точная dataframe приводится ниже:

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 

Хотя со следующей dataframe нет никаких проблем :

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 возможных значения, а values.labels - 5 различных опций. Но даже когда я извлекаю аргумент legendLabels из функции (поэтому нет никакой несогласованности между фактическими значениями и всеми возможными метками), я все равно получаю ту же ошибку при попытке построения df.

Любые подсказки?

ответ

1

Функция должна знать количество категорий товаров для работы. Обычно это делается автоматически, исследуя data.frame.

Если это не работает для вас, попробуйте CATCount параметр:

catcount = 4 

должен работать. Я улучшил обнаружение catcount в текущей сборке разработчика (see Github), которая также предупреждает пользователя, если этот параметр требуется.

+0

Спасибо, Даниэль, сейчас все прекрасно. – csmontt