Ошибка: переменные идентификатора не найдены в data: Item при попытке построения графика в R

#r #statistics #data-visualization #likert

#r #Статистика #визуализация данных #лайкерт

Вопрос:

Я новичок в использовании R, и я пытаюсь создать столбчатую диаграмму с расходящимся стеком, как показано здесь и здесь .

У меня есть следующий R-код, который я изменил из рабочего кода. Мой измененный код выдает ошибку. Ошибка, которую я получаю, такова Error: id variables not found in data: Item . Я не понимаю, почему я получаю эту ошибку.

 library("devtools")
library("likert")

scale_height = knitr::opts_chunk$get('fig.height')*0.5
scale_width = knitr::opts_chunk$get('fig.width')*1.25
knitr::opts_chunk$set(fig.height = scale_height, fig.width = scale_width)

theme_update(legend.text = element_text(size = rel(0.7)))

# u = understandability
title_u = "Understandability"

headers_u_n_a = c("Type", "Strongly Disagree", "Disagree", "Neutral", "Agree", "Strongly Agree")

y_label = "Video Transformation"

understandability_csv_text = "Type  Strongly Disagree   Disagree    Neutral Agree   Strongly Agree
WT  0.00    0.00    0.00    27.27   72.73
WoT 0.00    18.18   18.18   18.18   45.45
TF  9.09    9.09    36.36   27.27   18.18"

u_data = read.csv(text=understandability_csv_text, header=TRUE, sep="t")
u_data$Type = as.factor(u_data$Type)
names(u_data) = headers_u_n_a
u_data_summary = likert(summary = u_data)
plot(u_data_summary, plot.percent.neutral=TRUE, plot.percent.low=FALSE, plot.percent.high=FALSE)   ylab(y_label)   ggtitle(title_u)
 

Я изменял это следующим образом:

 library("devtools")
library("likert")

scale_height = knitr::opts_chunk$get('fig.height')*0.5
scale_width = knitr::opts_chunk$get('fig.width')*1.25
knitr::opts_chunk$set(fig.height = scale_height, fig.width = scale_width)

theme_update(legend.text = element_text(size = rel(3)))
theme_update(axis.title = element_text(size = rel(4)))
theme_update(plot.title = element_text(size = rel(4)))
theme_update(axis.text = element_text(size = rel(4)))

title_q1 = "I'm satisfied with the way the results are ranked"

headers_q1 = c("Item","Strongly Disagree",  "Disagree", "Neither Agree nor Disagree",   "Agree",    "Strongly Agree")

xlab_first = "Position"

CSV_Text = "K,Strongly Disagree,Disagree,Neither Agree nor Disagree,Agree,Strongly Agree
10,2.752293578,15.59633028,18.34862385,48.62385321,14.67889908
5,1.739130435,5.217391304,6.086956522,48.69565217,38.26086957
1,1.639344262,0,0,13.93442623,84.42622951
20,11.76470588,33.33333333,22.54901961,27.45098039,4.901960784"

first_q1 = read.csv(text=CSV_Text, header=TRUE, sep=",")
first_q1$K= as.factor(first_q1$K)
names(first_q1) = headers_q1
s_first_q1 = likert(summary = first_q1)
plot(s_first_q1, plot.percent.neutral=FALSE, plot.percent.low=FALSE, plot.percent.high=FALSE)   xlab(xlab_first)   ggtitle(title_q1)
 

Ответ №1:

Я смог это исправить и заставить его работать, изменив

 headers_u_n_a = c("Type", "Strongly Disagree", "Disagree", "Neutral", "Agree", "Strongly Agree")
 

Для

 headers_u_n_a = c("Item", "Strongly Disagree", "Disagree", "Neutral", "Agree", "Strongly Agree")
 

Однако я все еще не уверен, зачем это было нужно.