2016-10-13 47 views
-1

我會盡力解釋我的疑問。r軟件 - 識別表格列中的對象,大於或小於

例如,我有一個表格,其中包含一些變量X,Y,Z。 每個變量都有數字值。

所以,讓我們說我有

RDIST RDENS AGR BLF 
1 146 0.000  0 0.0 
2 338 0.000  0 0.0 
3 931 0.000  0 3.7 

我試圖找出異常值,所以我用dotchart。

但是現在,我想知道,在每個變量中,在哪個觀察中我有異常值。

使用list(x$BLF>3)命令,我得到一個包含TRUEFALSE值的表格。但我需要知道的是,如果異常值在觀察2,3或145.

+0

你想要輪廓的行索引嗎?使用'which(x $ BLF> 3)' – MrFlick

回答

0

我同意@MrFlick。 which()是最好的選擇。如果您想要採取下一步並刪除那些異常值,您可以執行 x$BLF<-x$BLF[-which(x$BLF>3)],這需要MrFlick正在討論的那些索引,並使用-運算符從BLF列中刪除這些條目。當然,之後你將它存儲回同一列。實際上,我真的不這樣做,因爲如果你的數據存儲在一個數據框中,R會自動用它上面的值替換已刪除的值,以保持正確的列長!

可能最好用NA代替異常值,如x$BLF[which(x$BLF>3)]<-NA。或者你可以像這樣從數據集中刪除整行x<-x[-which(x$BLF>3),]現在你有逗號的原因是,當你處理矩形數據框時,你必須指定行,列,像這樣[row I want, column I want]所以我只是指定了我想要刪除的行而不指定列。

可能比你想要的要多,但我認爲它可能有幫助。

0

就是這樣!謝謝你們倆!

現在,我只想確定每個變量的異常值。這個命令解決了我的疑問,tottaly。

謝謝

相關問題