【发布时间】:2017-03-09 18:44:02
【问题描述】:
我正在尝试在 R 中使用有序因子绘制一些数据,更具体地说,尝试为每个因子绘制多个数据点。为了更好的可读性,我尝试用text 绘制名称,然后为它们着色以获得更好的可读性。
我是这样设置的:
df[['category']]=ordered(df[['category']], levels=c("nm", "nw", "xw", "xm"))
这给了我这个输出,这对我来说看起来不错:
[1] xw xm nw nm
Levels: nm < nw < xw < xm
我是这样画的:
text(xval, temp, label= df[['category']], col=seq(1,4))
(其中 xval 和 temp 因输入而异;col 中的 seq 应该为它着色)。但后来我的情节看起来不正确(xw 代替了 nm)。
打印df[['category']] 的输出给了我这个:
3 4 2 1
我不知道怎么读;这是什么意思?
这是它需要的样子还是告诉我出了什么问题 我的阴谋?
很抱歉,我不能在这里展示我的图,但这是对不属于我的数据的研究。非常感谢任何帮助!
【问题讨论】:
-
所有
factor类对象都有其级别的顺序 - 使用ordered()而不仅仅是factor()的唯一原因是为了在模型矩阵中获得一组不同的对比。跨度> -
我知道您无法显示/分享您的真实数据,但如果您可以通过分享一些小说明性来重现您的问题,这将有很大帮助 数据。目前,我们无法运行您的任何代码,并且您似乎说
df[['category']]提供的输出看起来不错,然后您运行text()并且df[['category']]输出更改 - 这没有任何意义。 Please try to make your example reproducible. -
@Gregor 感谢您的回答。我将尝试提出一个示例数据集。但是,我确实觉得,至少我的一个具体问题(“
3 4 2 1告诉我的输出是什么”)更为笼统,并且可能在没有可重复示例的情况下起作用。您是否已经对此有所了解? -
这告诉您“xw”是您的因子分配级别规范中的第三项,4 与“xm”一起使用,2 与“nm”一起使用,1 与“nm”一起使用。因子实际上是整数向量,转换为
levels-vector 进行显示.. -
同意 42-,但令人惊讶的是,因子通常会像上面显示的那样打印它们的水平。好像您在某个时候将其转换为数字...