我是R和统计数据的新手。 我试图绘制两个分类变量的关系,这两个变量是长度为147的向量。 每个表格都是:
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年开始阅读这里的问题答案后,我希望使用此命令获得一个脊柱图:
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()无法使用 简而言之,我没有理解什么以及如何解决它?
答案 0 :(得分:0)
我想我也可以将我的评论写在答案中:
有一个plot.table方法,所以为什么不尝试:with(mydata,plot(table(Role,AgeGroup),xlab =" Role",ylab =" Age Group" ) - BondedDust 3小时前
with
创建一个本地环境,其中列名称被解释为对象,并且在该环境中,一个' -object将被传递给plot
。 plot
函数是通用的(尝试输入methods(plot)
),因此它会查找'表' -classed对象的正确方法并完成其工作。要查看未导出的plot.table
代码,您需要使用getAnywhere(plot.table)