web-dev-qa-db-fra.com

Erreur ggplot: Je ne sais pas comment choisir automatiquement l'échelle pour l'objet de type fonction

J'ai tracé un graphique à barres empilées dans R en utilisant le package ggplot2,

 data<-read.table("K.txt",header=TRUE, sep="\t")
> data
  Sample   P1   P2   P3   P4
1     G1 0.02 0.01 0.03 0.95
2     G2 0.01 0.01 0.02 0.97
3     G3 0.01 0.01 0.02 0.97
4     G4 0.01 0.01 0.02 0.97
5     G5 0.01 0.01 0.02 0.96
6     G6 0.01 0.01 0.01 0.98
7     G7 0.05 0.01 0.01 0.93
8     G8 0.34 0.01 0.01 0.64
9     G9 0.43 0.01 0.01 0.56
> library("reshape2", lib.loc="C:/Program Files/R/R-2.15.2/library")
> data1<-melt(data)
Using Sample as id variables
> head(data1)
   Sample variable value
1      G1       P1  0.02
2      G2       P1  0.01
3      G3       P1  0.01
4      G4       P1  0.01
5      G5       P1  0.01
> library("ggplot2", lib.loc="C:/Program Files/R/R-2.15.2/library")
ggplot(data=data1, aes(x=sample, y=value, fill=variable))+geom_bar(width=1)+scale_y_continuous(expand = c(0,0))+ opts(axis.text.x=theme_text(angle=90))
Don't know how to automatically pick scale for object of type function. Defaulting to continuous
Error in data.frame(x = function (x, size, replace = FALSE, prob = NULL)  : 
  arguments imply differing number of rows: 0, 36

Est-ce que any1 peut m'aider à résoudre cette erreur?

Merci beaucoup Ramesh

11
ramesh

Changez sample (fonction intégrée) en Sample (votre variable)

ggplot(data=data1, aes(x=Sample, y=value, fill=variable)) +
    geom_bar(width=1) +
    scale_y_continuous(expand = c(0,0)) +
    opts(axis.text.x=theme_text(angle=90))
10
Ananta