2013-04-22 259 views
2

我有编码组ID的变量:如何将连续变量转换为R中的离散值?

d <- data.frame(group = c(0,1,0,2,1,3,2,0,1,2), x=c(1.2,2.3,3.2,2.1,1.3,1.5,2.3,0.4,1.3,1.7)) 

当我尝试我得到一个错误

连续值提供给离散规模使用它在GGPLOT2用于制造箱图

试图呈现数据。然后我手动将数据中的至少一个组标识更改为文本,一切正常。

所以,我的问题是:就是一些简单的方法来改变连续变量,含变种有限数量离散?

+2

你能提供您所使用的代码'boxplot'? – vinux 2013-04-22 13:15:40

+0

'floor(data)','ceil(data)','round(data)'' – PascalVKooten 2013-04-22 13:15:53

回答

4

这样的:

ggplot(d) + geom_boxplot(aes(factor(group), x)) 

给出了下面的情节

enter image description here

4

由于您使用数字向量提供group变量,因此将其理解为连续变量。您需要将其转换为分类变量。请尝试以下操作:

d <- data.frame(group = as.factor(c(0,1,0,2,1,3,2,0,1,2)), x=c(1.2,2.3,3.2,2.1,1.3,1.5,2.3,0.4,1.3,1.7)) 

as.factor功能将转换成您所提供的组离散变量的数值向量。

相关问题