[英]Unique column values on a combination of columns in R Dataframe
Problem: I have a dataframe (df)问题:我有一个数据框 (df)
Source Source1 Target Target.1 Target.2 Target.3
1 SDB1 SDB2 TDB1 TDB2 TDB2 TDB2
2 STB1 STB2 TTB1 TTB2 TTB2 TTB3
3 SCOL1 SCOL2 TCOL1 TCOL2 TCOL3 TCOL4
I want a resultant dataframe which would look like (What I want is to get Unique pairs from rows 1 and 2):我想要一个看起来像的结果数据框(我想要的是从第 1 行和第 2 行获取唯一对):
X1 X2
SDB1 STB1
SDB2 STB2
TDB1 TTB1
TDB2 TTB2,TTB3
What I tried我试过的
I was able to get this till now and not sure how to proceed from here:直到现在我都能得到这个,但不知道如何从这里开始:
!(duplicated(t(df[c(1,2),])))
[1] TRUE TRUE TRUE FALSE TRUE
We can subset first two rows of dataframe and do aggregate
我们可以对数据帧的前两行进行子集化并进行
aggregate
df1 <- as.data.frame(t(df[1:2, ]), row.names = FALSE)
names(df1) <- paste0('X', 1:2)
aggregate(X2~X1, df1, function(x) toString(unique(x)))
# X1 X2
#1 SDB1 STB1
#2 SDB2 STB2
#3 TDB1 TTB1
#4 TDB2 TTB2, TTB3
Using dplyr
, we can do :使用
dplyr
,我们可以:
library(dplyr)
df %>%
slice(1:2) %>%
t %>%
as.data.frame() %>%
group_by(V1) %>%
summarise(V2 = toString(unique(V2)))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.