2014-06-15 27 views
0

我这个代码消除NA的和绑定两个列值并绘制结果中的R

dd <- melt(b,id.vars=c("Mesocosm","Exp.day"), measure.vars=myvars) 
dd$Exp.day = factor(dd$Exp.day,levels = order(levels(dd$Exp.day))) 
ggplot(dd,na.rm=TRUE,aes(x=Exp.day,y=value)) + geom_point(aes(color=factor(Mesocosm)), size = 3,position = position_jitter(width = 0.1)) + 
    facet_wrap(~variable, nrow=3, ncol=2,scales = "free_y") 

绘图数据和数据失真的许多方面。导入到R后的数据帧不会为大多数空格放置任何NA,并且在融化后Exp.day轴中有NA。

我没有任何想法如何处理ggplot内的NA,以及为什么Y轴被扭曲。请让我知道如何解决这些问题。

在这里您可以看到NA值不存在,我的意思是您可以在0处看到没有连续值。 (颜色不是问题,但绘制的数据与数据框值不匹配),看起来像Y轴有多个值。如何解决这个问题?

在此先感谢

+0

目前还不清楚你认为我的问题是什么,当我制作图表时y轴看起来不像你的。确保你已经正确地阅读了数据,并且每一列都是你期望的课程。更具体地说明“扭曲”对你意味着什么。你期望发生的NA值现在还没有发生什么?我们不知道这些情节“应该”看起来像什么。 – MrFlick

+0

我已添加预期结果。并且我正在使用此命令将数据帧导入到R ..“b < - read.xls(”file_name.xls“,perl =”C:/strawberry/perl/bin/perl.exe“)” – statisticalbeginner

+0

您不'您需要尝试编辑答案以提供反馈,您可以在其下方发表评论。 – Leigh

回答

1

好,ggplot似乎并不具有na.rm参数。从数据中删除缺失值的最佳方法是将它们分组。尝试

ggplot(subset(dd, !is.na(Exp.day)),aes(x=Exp.day,y=value), as.table=T) + 
    geom_point(aes(color=factor(Mesocosm)), size = 3, 
     position = position_jitter(width = 0.1)) + 
    facet_wrap(~variable, nrow=3, ncol=2,scales = "free_y") 

这给了我

enter image description here

如此看来,当你在读你的表格,你的列没有被正确设置为数值。它们可能是您data.frame中的因素,但是您没有提供确切的data.frame结构来验证。只要确保数据集中的所有数字列都是R中的数字,并且如果不是,则进行必要的转换。

+0

你是如何设法将所有列转换为数字的?我努力工作,但是NA正在努力完成我的任务。如果你不介意,请分享你的方法。谢谢。 – statisticalbeginner

+0

好吧,不得不将它下载为excel文件。我用单位删除了第二行。我保存为一个制表符分隔的文本文件,并用'read.table()'将其读入。 – MrFlick

相关问题