2010-11-19 113 views
1

我试图绘制使用GGPLOT2包中的数据,但我有一个错误渡: 数据设置代表每天值(这些值在高度变化)用ggplot2绘图。错误

V1 V2.... V500 
2E-15.....3E-14 
3e-14.....3E-21 
1.3E-15....NA 

我列想要用值填充的方式绘制两个轴上的所有数据。

代码;

a<-data.frame("/../vertical_value.csv",sep=",",header=F) 
am<-melt(t(a)) 
dataset<-expand.grid(X = 1:500, H = seq(1,25,by=1)) 
dataset$axp<-am$value 
g<-ggplot(dataset, aes(x = X, y = H, fill = axp)) + geom_tile() 

错误:

Error: Casting formula contains variables not found in molten data: XHaxp 
+0

Jaun,是否有可能向我们提供您的数据或相同形状的哑光数据?投射错误可能会反映数据中的NA。 na.omit(数据集)可能工作。但很难说没有看到它应该是什么。另外,有人可以正确地编写他的帖子吗? – 2010-11-19 02:51:04

+0

请给出一个可重复的例子。我用'a < - 矩阵(rnorm(500 * 25),nc = 500)'来测试你的代码,并且没有得到任何错误(我也不明白为什么你不能直接使用'am') 。 – Aniko 2010-11-19 13:59:07

+0

不知道到底发生了什么,但我相信你的错误可能在融化(t(a))阶段?没有可重复的例子,真的很难走得更远。这里有一个类似的例子(对格式抱歉):z < - data.frame(V1 = 1:5,V2 = 2:6,V3 = 3:7); library(reshape); mm < - 熔体(t(z)); dataset < - expand.grid(X = 1:5,H = 1:3); 数据集$ axp < - mm $ value; library(ggplot2); ggplot(数据集,aes(x = X,y = H,fill = axp))+ geom_tile() – 2010-11-19 14:01:59

回答

1

在此再次来看,我认为你应该能够仅仅通过下降NA行你融化后绕过这一点。

a<-data.frame("/../vertical_value.csv",sep=",",header=F) 
am<-melt(t(a)) 
am <- na.omit(am) ## ADD THIS LINE 
dataset<-expand.grid(X = 1:500, H = seq(1,25,by=1)) 
dataset$axp<-am$value 
g<-ggplot(dataset, aes(x = X, y = H, fill = axp)) + geom_tile()