-2
我在尝试子集某些数据,但在此部分获得了库存。我的数据是这样的:查找具有相同值的行在不同列中的行对
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”和“补偿”是等于为我所需的输出,并在“seq_nb”和“orig_seq_nb”匹配的值。
感谢您的帮助!
谢谢,它适用于小数据集! 当我想将这段代码应用到更大的数据集时,有没有办法将cbind命令扩展到其他列?如果cbind和apply命令的列不相邻,我该如何继续? – fabiusw
@fabiusw创建一个你想要订购的列的索引。例如,如果你想要命令说,'1,5,13,15等等,'nm1 < - c(1,5,13,15); nm2 < - setdiff(seq(ncol(df1)),nm1); d2 < - cbind(df1 [nm2],apply(df1 [nm1],1,function(x)x [order(x)] [1]))'并执行'duplicateated'步骤。在您的原始数据集中,我不确定是否需要获取第一个元素,即'x [order(x)] [1]' – akrun