2017-09-23 53 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" 
相关问题