2011-06-17 33 views
7

मैं कॉलम के साथ एक डेटा फ्रेम शुरू में मनमाने ढंग से लेबल है। बाद में, मैं इन स्तरों को संख्यात्मक मानों में बदलना चाहता हूं। निम्नलिखित लिपि समस्या को दर्शाती है।मैं कैसे मिलता है असतत कारक के स्तर निरंतर रूप में माना जाता?

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() 

यह साजिश तैयार की जाती है।

enter image description here

'चर' मात्रा में समान रूप से भूखंड पर स्थान दिया गया है, भले ही संख्यानुसार यह सच नहीं है। मैं x-axis पर रिक्ति को सही कैसे प्राप्त कर सकता हूं?

+0

भी, wellspacedcodeiseasiertoread – Chase

उत्तर

11

मुझे लगता है कि आप बस अंकीय चर बदलने करके ऐसा कर सकते:

mdf$variable <- as.numeric(as.character(mdf$variable)) 

g <- ggplot(mdf,aes(variable,value,group=variable,colour=t)) 
g + 
    geom_point() + 
    #scale_x_continuous() + 
    opts() 
3

आप सांख्यिक में अपने कारक बदलने की आवश्यकता:

mdf$numVariable <- as.numeric(as.character(mdf$variable)) 

g <- ggplot(mdf,aes(numVariable,value,group=variable,colour=t)) 
g + 
    geom_point() + 
    #scale_x_continuous() + 
    opts() 

या बस के लिए कॉल में रूपांतरण ggplot:

g <- ggplot(mdf,aes(as.numeric(as.character(variable)),value,group=variable,colour=t))