2014-06-15 31 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

相關問題