2017-09-23 86 views
0

我有一個由代表特定細菌的五個字符變量組成的數據框。然後我有成千上萬的每個變量的觀察,所有以字母K.的如從數據幀的單個列中選擇唯一值

x <- c(K0001,K0001,K0003,K0006) 
    y <- c(K0001,K0001,K0002,K0003) 
    z <- c(K0001,K0002,K0007,K0008) 
    r <- c(K0001,K0001,K0001,K0001) 
    o <- c(K0003,K0009,K0009,K0009) 

我需要確定在不出現在任何剩餘的四列的第一列獨特的看法。我試圖在這裏提出的辦法,我認爲會的工作,如果我可以使用select創建單獨的載體......

How to tell what is in one vector and not another?

但是當我嘗試使用代碼來創建用於分析的矢量...

x <- select(data$x) 

我得到的錯誤在UseMethod( 「SELECT_」)

錯誤: 關於 'SELECT_' 不適用方法應用於類的一個對象「字符

我試圖使用as.factor和as.numeric來變異載體,但這兩種方法都不起作用,因爲第一種方法和上面的方法給出了等效的錯誤,as.numeric返回了NAs。

在此先感謝

+0

是這樣嗎? 'data $ x [!data $ x%in%unlist(data [-1])]''。注意:我已經創建了'data.frame'參數'stringsAsFactors = FALSE'。 –

回答

1

你引用setdiff建議參考。你需要做的唯一事情就是將這四個列轉換成一個,這樣它就可以作爲一個集合處理。你可以用unlist

setdiff(data$x, unlist(data[,2:5])) 
"K0006" 
相關問題