如何将离散因子水平视为连续因子水平?
我有一个数据框,其中的列最初被任意标记。稍后,我想将这些级别更改为数值。以下脚本说明了该问题。
library(ggplot2)
library(reshape2)
m <- 10
n <- 6
nam <- list(c(),letters[1:n])
var <- as.data.frame(matrix(sort(rnorm(m*n)),m,n,F,nam))
dtf <- data.frame(t=seq(m)*0.1, var)
mdf <- melt(dtf, id=c('t'))
xs <- c(0.25,0.5,1.0,2.0,4.0,8.0)
levels(mdf$variable) <- xs
g <- ggplot(mdf,aes(variable,value,group=variable,colour=t))
g +
geom_point() +
#scale_x_continuous() +
opts()
这个情节就产生了。
“变量”数量在绘图上均匀分布,尽管在数字上这并不正确。如何获得正确的 x 轴间距?
I have a data frame with columns initially labeled arbitrarily. Later on, I want to change these levels to numerical values. The following script illustrates the problem.
library(ggplot2)
library(reshape2)
m <- 10
n <- 6
nam <- list(c(),letters[1:n])
var <- as.data.frame(matrix(sort(rnorm(m*n)),m,n,F,nam))
dtf <- data.frame(t=seq(m)*0.1, var)
mdf <- melt(dtf, id=c('t'))
xs <- c(0.25,0.5,1.0,2.0,4.0,8.0)
levels(mdf$variable) <- xs
g <- ggplot(mdf,aes(variable,value,group=variable,colour=t))
g +
geom_point() +
#scale_x_continuous() +
opts()
This plot is produced.
The 'variable' quantities are evenly spaced on the plot, even though numerically this is not true. How can I get the spacing on the x-axis correct?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为你可以简单地通过将变量转换为数字来做到这一点:
I think you can do this simply by transforming the variable to numeric:
您需要将因子转换为数字:
或者只需在对 ggplot 的调用中进行转换:
You need to convert your factor into numeric:
Or just do the conversion in the call to ggplot: