【发布时间】:2015-04-10 10:08:24
【问题描述】:
我有一个由两列组成的数据框,一列是因子列(“C7”:“C20”),另一列是数字。当我尝试绘制数据框时,因子的顺序按字母顺序排列,即从 C10...C20、C7、C8、C9 开始。我正在尝试按顺序排序,即 C7 -> C20。
我尝试使用因子函数对因子进行排序:
X2 <- factor(X1$column1, levels:c("C7", "C8", "C9", ... , "C20"))
edit: {我意识到上面的代码是不正确的。请参阅下面的评论以进行详细说明}。
但这会将整个数据框更改为因子类,并且绘图函数无法识别箱线图的因子 - 例如"错误:ggplot2 不知道如何处理类因子的数据"
有什么想法吗?
【问题讨论】:
-
这没有意义。如果将 data.frame 的一列转换为因子,则它不应影响其余列。你确定它不是矩阵吗?在上面的代码中,您只需为变量 X2 分配一个因子。是对问题进行排序还是在绘制 data.frame?目前还不清楚。也许您需要创建一个可重现的示例,以便向我们准确展示您的需求。
-
如果让您感到困惑,我深表歉意。我是 R 新手。问题在于将 data.frame 绘制为箱线图。数字y轴很好。然而,x 轴上的因子排序并不如所希望的那样,即 C7-C20。相反,x 轴从 C10...C20,C7,C8,C9 开始排序。数据的结构使得每个因素大约有 100 个观察值。我看到我在上面的代码中出错了...... X2 只包含因子变量,而不是数字变量。数据的类是一个data.frame。