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

6

我有一个编码组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制作箱线图时,出现了以下错误:

Continuous value supplied to discrete scale

尝试渲染数据时会出现此错误。手动将数据中的至少一个组ID更改为文本后,一切都可以正常运行。

所以,我的问题是:有没有一种简单的方法可以将包含有限数量变量的连续变量转换为离散变量?


2
你能提供你用于 boxplot 的代码吗? - vinux
floor(data)ceil(data)round(data) - PascalVKooten
2个回答

8

this:

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

以下是图表:

enter image description here


5

由于您提供了一个数字向量作为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))
< p > as.factor 函数将您提供的数字向量转换为离散变量。 < /p >

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接