Я новичок как R, так и статистика в целом. Я пытаюсь построить отношения двух категориальных переменных, которые являются векторами длины 147. Таблицы для каждого из них:участок категориальных переменных с R
AgeGroup
26-49 50-64 65 and over Under 26
101 16 5 25
и
Role
A/C C/H Dietician
6 8 2
Doctor Healthcare Assistant Lab
56 7 2
Nurse Pharmacist Phlebotomist
54 5 1
Radiographer Therapist
1 5
После прочтения ответа на вопрос здесь с 2012 года я ожидал получить spineplot с помощью следующей команды:
plot(mydata$Role,mydata$AgeGroup,xlab="Role",ylab="Age Group")
но он возвращает:
Error in plot.window(...) : need finite 'xlim' values
In addition: Warning messages:
1: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion
2: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion
3: In min(x) : no non-missing arguments to min; returning Inf
4: In max(x) : no non-missing arguments to max; returning -Inf
5: In min(x) : no non-missing arguments to min; returning Inf
6: In max(x) : no non-missing arguments to max; returning -Inf
Я предполагаю, что предупреждение сообщение 1 говорит мне, что xycoords() пытается принуждать категориальные элементы в числовые данные и, когда он не в состоянии сделать так, возвращается Nas, который не дает участок() ничего работать с.
Одним словом, что я не понимаю и как его исправить?
Существует метод plot.table, поэтому почему бы не попробовать: 'с (mydata, plot (таблица (Role, AgeGroup), xlab =" Role ", ylab =" Age Group ")' –
Спасибо, это отлично! Теперь я могу потратить некоторое время на выяснение, как это работает :-) – Gerard
'with' создает локальную среду, где имена столбцов интерпретируются как объекты, а внутри этого env объект таблицы передается в' plot'. Функция «plot» является общей (попробуйте ввести «методы (сюжет)»), поэтому он ищет правильный метод для «классифицированного по таблице» объекта и выполняет свою работу. Чтобы увидеть код для 'plot.table', который не экспортируется, вам нужно использовать' getAnywhere (plot.table) ' –