R 在不同列中查找具有相同值的行对
我试图对一些数据进行子集划分,但这部分有库存。我的数据如下所示:R 在不同列中查找具有相同值的行对,r,R,我试图对一些数据进行子集划分,但这部分有库存。我的数据如下所示: structure(list(sym_id = structure(c(1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 4L, 5L, 5L), .Label = c("AOL.HH", "ARCH.GA", "ARCH.GK", "T.GJ", "T.GK"), class = "factor"), comp = structure(c(1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L,
structure(list(sym_id = structure(c(1L, 2L, 2L, 2L, 2L,
2L, 3L, 3L, 4L, 5L, 5L), .Label = c("AOL.HH", "ARCH.GA", "ARCH.GK",
"T.GJ", "T.GK"), class = "factor"), comp = structure(c(1L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L), .Label = c("AOL", "ARCH",
"T"), class = "factor"), seq_nb = c(18327L, 9952L, 39808L,
56601L, 44974L, 55302L, 20023L, 24403L, 15529L, 46202L, 57269L
), orig_seq_nb = c(81261L, 72161L, 9952L,
1276L, 98216L, 16423L, NA_integer_, NA_integer_,
NA_integer_, NA_integer_, NA_integer_)), .Names = c("bond_sym_id",
"company_symbol", "seq_nb", "orig_seq_nb"), row.names = c(NA,
-11L), class = c("tbl_df", "tbl", "data.frame"))
我正在寻找一个代码,它将返回在不同列中具有相同值但在另一列中也具有相同值的行。
输出应该会返回给我
Row1 ARCH.GA ARCH 9952 72161
Row2 ARCH.GA ARCH 39808 9952
如您所见,“sym_ID”和“comp”列对于我所需的输出是相等的,“seq_nb”和“orig_seq_nb”中的值是匹配的
谢谢你的帮助 我们用第3列和第4列对数据集进行子集,循环行,
顺序
,获得第一个元素,cbind
和前两列,使用duplicated
查找重复元素的逻辑索引,这可用于对“df1”的行进行子集设置
d2 <- cbind(df1[1:2], apply(df1[3:4],1, function(x) x[order(x)][1]))
df1[duplicated(d2)|duplicated(d2, fromLast=TRUE),]
# bond_sym_id company_symbol seq_nb orig_seq_nb
# <fctr> <fctr> <int> <int>
#1 ARCH.GA ARCH 9952 72161
#2 ARCH.GA ARCH 39808 9952
d2谢谢,它适用于小数据集!当我想将此代码应用于更大的数据集时,是否有方法将cbind命令扩展到其他列?如果cbind和apply命令的列不相邻,我该如何处理?@fabiusw为要排序的列编制索引。例如,如果您想订购,比如说,1、5、13、15等,nm1