我正在尝试在R中生成一个简单的ggplot2抖动图。对于x值,我有1到100之间的整数。当我绘制此数据时,我的x轴以值1开始,然后转到{{1}如何重新排序我的x轴以创建升序值(例如,1,2,3,4,5 ......等)?
这是我的代码:
11, 12, 13, 14, 15, 16, 17, 18, 19, 2, 20, etc.
编辑:我应该指出我也有一些data = read.csv('my_data_file', sep"\t")
x_values = data[,1]
y_values = data[,2]
qplot(rank, score, geom="jitter")
x值。理想情况下,我希望x轴按数字递增,然后将non-integer
值附加到x轴的末尾。 non-integer
值的任何顺序都可以。
答案 0 :(得分:3)
你必须转换为数字,正如@ gsk3所说,但是当this回答指出时,有一些困难,你应该使用:
x_values <- as.numeric(levels(x_values))[x_values]
答案 1 :(得分:1)
你的x
变量在CSV中有引号(Excel因此而臭名昭着),这意味着R将其作为一个因子读取,默认情况下它会按字母顺序排列。修复级别,你将修复订单。或者更好,因为x
似乎自然希望是一个整数,修复您的数据类型:
x_values <- as.integer(as.character(x_values))
尝试str(data)
查看列的数据类型。如果您的数据很大,则有更有效的转换方式。