R 为什么我的图形是空的?

R 为什么我的图形是空的?,r,data-structures,ggplot2,R,Data Structures,Ggplot2,我的结构有问题。 这是我正在做的一个例子 x <- c(211.50, 200.50, 148.60, 144.20, 132.20, 159.80, 107.70, 91.40, 63.10, 62.10, 55.70, 74.60, 224.90, 208.001, 45.80, 133.50, 122.70, 161.70, 160.00, 136.80, 92.20, 91.20, 79.20, 109.90, 244.60, 212.20, 147.20, 129.

我的结构有问题。 这是我正在做的一个例子

x <- c(211.50, 200.50, 148.60, 144.20, 132.20, 159.80, 107.70,  91.40,  63.10,  62.10,  55.70,  74.60, 224.90, 208.001, 45.80, 133.50, 122.70, 161.70, 160.00, 136.80,  92.20,  91.20, 79.20, 109.90, 244.60, 212.20, 147.20, 129.30, 118.50, 165.80, 120.60,  97.90,  69.30,  65.50,  59.10,  81.90,  94.15, 114.20, 131.03, 133.89, 132.25, 153.51)

y <- x
Ref <- c(rep("ref1",36), rep("ref2",6))
ID <- c(rep("id1",6), rep("id2",6),rep("id3",6),rep("id4",6),rep("id5",6),rep("id6",6),rep("id7",6))

data.split <- data.frame(Ref,ID,x,y)
l.ref <- ddply(data.split, .(Ref), "nrow")
vec1 <- c(rep(1,l.ref$nrow[1]))
for (i in 2:length(l.ref$Ref)) { 
  vec2 <- c(rep(i,l.ref$nrow[i]))
  vec3 <- append(vec1,vec2, after =length(vec1))
  vec1 <- vec3
 }
vec_ref <- vec3

l.id <- ddply(data.split, .(ID), "nrow")
vec1 <- c(rep(1,l.id$nrow[1]))
for (i in 2:length(l.id$ID)) { 
 vec2 <- c(rep(i,l.id$nrow[i]))
 vec3 <- append(vec1,vec2, after =length(vec1))
 vec1 <- vec3
}
vec_id <- vec3
df <- structure(list(Ref = structure(vec_ref, .Label = l.ref$Ref, class = "factor"), 
Id = structure(vec_id, .Label = l.id$ID, class = "factor"),
x = data.split$x, y = data.split$y), 
.Names = c("Ref", "Id", "x", "y"), 
 row.names = c(NA, -length(data.split$x)), class = "data.frame")

ggplot(data = df, aes(x = x, y = y, colour = df$Ref)) + 
    geom_point(aes(shape = df$Id)) + scale_shape_manual(value=1:length(l.id$ID))

x您已经将数据框中的因子弄乱了。“结构”到底是怎么回事?丢失它,然后使用以下命令:

df = data.frame(Ref = factor(vec_ref,labels=l.ref$Ref),
        Id = factor(vec_id,labels=l.id$ID),
         x=data.split$x,y=data.split$y)

然后ggplot就开始工作了。

你把数据框中的因子搞乱了。“结构”到底是怎么回事?丢失它,然后使用以下命令:

df = data.frame(Ref = factor(vec_ref,labels=l.ref$Ref),
        Id = factor(vec_id,labels=l.id$ID),
         x=data.split$x,y=data.split$y)

然后ggplot工作。

我无法运行您的代码:“错误:未找到对象‘l.ref’”您能否将l.ref和l.id添加到示例中?代码对我不起作用,创建了data.split,但l.ref是不存在的对象。您还需要更清楚地说明您想要做什么,以及为什么它涉及结构。在这个阶段,您的代码看起来非常不清楚。在ggplot中,您不使用aes(shape=df$Id),而是使用aes(shape=Id)。省略df$。我无法运行您的代码:“错误:未找到对象‘l.ref’”您能否将l.ref和l.id添加到示例中?代码对我不起作用,创建了data.split,但l.ref是一个不存在的对象。您还需要更清楚地说明您想要做什么,以及为什么它涉及结构。在这个阶段,您的代码看起来非常不清楚。在ggplot中,您不使用aes(shape=df$Id),而是使用aes(shape=Id)。省略df$。您是否可以单击小勾选框,让所有人都知道您已经得到了答案?:)有没有可能只需点击小勾选框,让大家都知道你有答案?:)