2016-09-16 125 views
1

我有一个数据如下所示DF如何删除重复的字符串并合并所有列字符串?

df<- structure(list(V1 = structure(c(5L, 1L, 2L, 3L, 4L), .Label = c("DNAJC11;FGOTG", 
"MAPK14", "PPIB", "RBX1", "USP14"), class = "factor"), V2 = structure(c(4L, 
3L, 2L, 1L, 1L), .Label = c("", "DNAJC9", "MAPK14", "USP14"), class = "factor"), 
    V3 = structure(c(3L, 2L, 4L, 5L, 1L), .Label = c("", "DNAJC11;FGOTG", 
    "GCLC", "GSR", "STIP1"), class = "factor")), .Names = c("V1", 
"V2", "V3"), class = "data.frame", row.names = c(NA, -5L)) 

我想所有列合并成一个,然后保持独特的人 例如输出应该是这样的

USP14 
DNAJC11;FGOTG 
MAPK14 
PPIB 
RBX1 
DNAJC9 
GCLC 
GSR 
STIP1 

我试着使用melt功能,但我不知道如何做到这一点,任何意见表示赞赏。由于

+1

'unlist'然后'unique'? – rawr

+0

@rawr感谢您的回复,如果您不介意,请作出回答,但如果不值得,请不要担心,我会尝试使用unlist功能。再次感谢 – nik

回答

1
unique(as.vector(as.matrix(df))) 

要没有字符删除条目:

vec<-unique(as.vector(as.matrix(df))) 
vec[-which(vec=="")] 

,或者礼貌@rawr

Filter(nzchar, unique(as.vector(as.matrix(df)))) 
+2

或'Filter(nzchar,unique(as.vector(as.matrix(df))))'去除字符 – rawr

+0

cool - 不知道nzchar我自己。谢谢 – MCharles

相关问题