如何在R中将连续变量转换为离散?

时间:2013-04-22 13:04:06

标签: r categorical-data

我有一个编码组ID的变量:

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中使用它制作箱图时,我收到错误

  

提供给离散比例的连续值

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

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

2 个答案:

答案 0 :(得分: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函数会将您为组提供的数值向量转换为离散变量。

答案 1 :(得分:4)

这个:

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

给出以下图

enter image description here