-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