【问题标题】:Extract row numbers to match index R not working提取行号以匹配索引 R 不起作用
【发布时间】:2020-04-12 21:54:35
【问题描述】:

我正在尝试使用 R 的匹配功能保留系列的第一行,然后将其应用于原始数据框,以便我只收集满足第一个条件的行。我将对新列中的这些重复值进行计算和逻辑测试,但是在获得正确的匹配索引然后将它们应用于原始数据框之后,我得到了一个完全混合的结果,而不是我的第一个值应该包含在其相应的行中。

# Extract first row's value

DT1 <- InsiderList3[!duplicated(`Insider CIK`), ]

# Construct Index for Each Grouping (Insider CIK) most recent reported transaction date
index2 <- match(as.character(InsiderList3$`Insider CIK`),as.character(DT1$`Insider CIK`))
dt3 <- InsiderList3[as.numeric(index2),]

这是一个示例输入:

dput(head(InsiderList3[c('Insider CIK', 'Transaction Date', 'Issuer')], 75))
structure(list(`Insider CIK` = c("0001008134", "0001008134", 
"0001008134", "0001008134", "0001008134", "0001008134", "0001008134", 
"0001008134", "0001008134", "0001008134", "0001008134", "0001008134", 
"0001008134", "0001008134", "0001008134", "0001008134", "0001008134", 
"0001008134", "0001008134", "0001008134", "0001008134", "0001008134", 
"0001008134", "0001008134", "0001008134", "0001008134", "0001008134", 
"0001008134", "0001008134", "0001008134", "0001008134", "0001008134", 
"0001008134", "0001008134", "0001008134", "0001008134", "0001008134", 
"0001008134", "0001008134", "0001008134", "0001008134", "0001008134", 
"0001008134", "0001008134", "0001008134", "0001008134", "0001008134", 
"0001008134", "0001008134", "0001008134", "0001008134", "0001008134", 
"0001008134", "0001008134", "0001008134", "0001008134", "0001008134", 
"0001008134", "0001008134", "0001008134", "0001008134", "0001008134", 
"0001008134", "0001008134", "0001008134", "0001008134", "0001008134", 
"0001008134", "0001008134", "0001008134", "0001009891", "0001012859", 
"0001012859", "0001012859", "0001012859"), `Transaction Date` = structure(c(18358, 
18358, 18101, 18065, 18065, 18039, 17729, 17700, 17674, 17674, 
17345, 17345, 17326, 17014, 17014, 17014, 17014, 17014, 17014, 
17001, 16964, 16964, 16598, 16590, 16582, 16582, 16409, 16288, 
16288, 16245, 16245, 16217, 16161, 16072, 16052, 15967, 15880, 
15869, 15771, 15710, 15710, 15687, 15603, 15523, 15354, 15354, 
15030, 14979, 14840, 14049, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 18358, 18358, 
18358, 18261), class = "Date"), Issuer = c("TRANSATLANTIC PETROLEUM LTD.", 
"TRANSATLANTIC PETROLEUM LTD.", "TRANSATLANTIC PETROLEUM LTD.", 
"TRANSATLANTIC PETROLEUM LTD.", "TRANSATLANTIC PETROLEUM LTD.", 
"SANDRIDGE ENERGY INC", "SANDRIDGE ENERGY INC", "TRANSATLANTIC PETROLEUM LTD.", 
"TRANSATLANTIC PETROLEUM LTD.", "TRANSATLANTIC PETROLEUM LTD.", 
"TRANSATLANTIC PETROLEUM LTD.", "TRANSATLANTIC PETROLEUM LTD.", 
"TRANSATLANTIC PETROLEUM LTD.", "Seventy Seven Energy Inc.", 
"Seventy Seven Energy Inc.", "Seventy Seven Energy Inc.", "Seventy Seven Energy Inc.", 
"Seventy Seven Energy Inc.", "Seventy Seven Energy Inc.", "TRANSATLANTIC PETROLEUM LTD.", 
"TRANSATLANTIC PETROLEUM LTD.", "TRANSATLANTIC PETROLEUM LTD.", 
"TRANSATLANTIC PETROLEUM LTD.", "Seventy Seven Energy Inc.", 
"TRANSATLANTIC PETROLEUM LTD.", "TRANSATLANTIC PETROLEUM LTD.", 
"Seventy Seven Energy Inc.", "Seventy Seven Energy Inc.", "Seventy Seven Energy Inc.", 
"TRANSATLANTIC PETROLEUM LTD.", "TRANSATLANTIC PETROLEUM LTD.", 
"TRANSATLANTIC PETROLEUM LTD.", "CHESAPEAKE ENERGY CORP", "CHESAPEAKE ENERGY CORP", 
"CHESAPEAKE ENERGY CORP", "CHESAPEAKE ENERGY CORP", "TRANSATLANTIC PETROLEUM LTD.", 
"CHESAPEAKE ENERGY CORP", "CHESAPEAKE ENERGY CORP", "TRANSATLANTIC PETROLEUM LTD.", 
"TRANSATLANTIC PETROLEUM LTD.", "CHESAPEAKE ENERGY CORP", "CHESAPEAKE ENERGY CORP", 
"CHESAPEAKE ENERGY CORP", "TRANSATLANTIC PETROLEUM LTD.", "TRANSATLANTIC PETROLEUM LTD.", 
"TRANSATLANTIC PETROLEUM LTD.", "TRANSATLANTIC PETROLEUM LTD.", 
"TRANSATLANTIC PETROLEUM LTD.", "QUEST RESOURCE CORP", "QUEST RESOURCE CORP", 
"CHESAPEAKE ENERGY CORP", "CHESAPEAKE ENERGY CORP", "CHESAPEAKE ENERGY CORP", 
"CHESAPEAKE ENERGY CORP", "CHESAPEAKE ENERGY CORP", "TRANSATLANTIC PETROLEUM LTD.", 
"CHESAPEAKE ENERGY CORP", "Seventy Seven Energy Inc.", "CHESAPEAKE OILFIELD OPERATING LLC", 
"TRANSATLANTIC PETROLEUM LTD.", "QUEST RESOURCE CORP", "CHESAPEAKE ENERGY CORP", 
"CHESAPEAKE ENERGY CORP", "CVR ENERGY INC", "CHESAPEAKE ENERGY CORP", 
"SANDRIDGE ENERGY INC", "TRANSATLANTIC PETROLEUM LTD.", "Seventy Seven Energy Inc.", 
"CHESAPEAKE ENERGY CORP", NA, "NATIONAL HEALTHCARE CORP", "NATIONAL HEALTHCARE CORP", 
"NATIONAL HEALTHCARE CORP", "NATIONAL HEALTHCARE CORP")), row.names = c(NA, 
75L), class = "data.frame")

非常感谢您的帮助。

【问题讨论】:

  • 你能显示你的预期输出吗
  • 我想要的输出将是一个与我开始时尺寸完全相同的数据框,但只包含每个组 ID 的第一行值。它是一个大型数据框,但我很乐意为您提供所需的任何东西。我从来没有遇到过这样的索引问题。我已经确认索引向量是一个数字。
  • 你需要反向的match
  • match(as.character(DT1$Insider CIK), as.character(InsiderList3$Insider CIK) )# [1] 1 71 72
  • 所以点 71 是正确的,就下一个匹配出现在 maint 表中的位置而言。在这种情况下,它应该保持原样,但按照我这样做的方式,我让初始匹配显示在第 160 行,然后它跳过第 71 行的匹配并进入下一个。我不明白为什么。

标签: r dplyr tidyr


【解决方案1】:

我们可以使用first得到Insider CIK分组后每一列的第一个值

InsiderList3 %>% 
       group_by(`Insider CIK`) %>%
        mutate_all(first)
# A tibble: 75 x 3
# Groups:   Insider CIK [3]
#   `Insider CIK` `Transaction Date` Issuer                      
#   <chr>         <date>             <chr>                       
# 1 0001008134    2020-04-06         TRANSATLANTIC PETROLEUM LTD.
# 2 0001008134    2020-04-06         TRANSATLANTIC PETROLEUM LTD.
# 3 0001008134    2020-04-06         TRANSATLANTIC PETROLEUM LTD.
# 4 0001008134    2020-04-06         TRANSATLANTIC PETROLEUM LTD.
# 5 0001008134    2020-04-06         TRANSATLANTIC PETROLEUM LTD.
# 6 0001008134    2020-04-06         TRANSATLANTIC PETROLEUM LTD.
# 7 0001008134    2020-04-06         TRANSATLANTIC PETROLEUM LTD.
# 8 0001008134    2020-04-06         TRANSATLANTIC PETROLEUM LTD.
# 9 0001008134    2020-04-06         TRANSATLANTIC PETROLEUM LTD.
#10 0001008134    2020-04-06         TRANSATLANTIC PETROLEUM LTD.
# … with 65 more rows

data.table

library(data.table)
setDT(InsiderList3)[, .SD[rep(1, .N)], by = .(`Insider CIK`)]
# Insider CIK Transaction Date                       Issuer
# 1:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
# 2:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
# 3:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
# 4:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
# 5:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
# 6:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
# 7:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
# 8:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
# 9:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#10:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#11:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#12:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#13:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#14:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#15:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#16:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#17:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#18:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#19:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#20:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#21:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#22:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#23:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#24:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#25:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#26:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#27:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#28:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#29:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#30:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#31:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#32:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#33:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#34:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#35:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#36:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#37:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#38:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#39:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#40:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#41:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#42:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#43:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#44:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#45:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#46:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#47:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#48:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#49:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#50:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#51:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#52:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#53:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#54:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#55:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#56:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#57:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#58:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#59:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#60:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#61:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#62:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#63:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#64:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#65:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#66:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#67:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#68:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#69:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#70:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#71:  0001009891             <NA>                         <NA>
#72:  0001012859       2020-04-06     NATIONAL HEALTHCARE CORP
#73:  0001012859       2020-04-06     NATIONAL HEALTHCARE CORP
#74:  0001012859       2020-04-06     NATIONAL HEALTHCARE CORP
#75:  0001012859       2020-04-06     NATIONAL HEALTHCARE CORP

如果Insider CIK已经没有排序,那么我们在按组获取第一行之前创建一个rowid

InsiderList3$rid <- seq_len(nrow(InsiderList3))
setDT(InsiderList3)[,  c(list(rid = rid), .SD[rep(1L, .N)]),
   by = .(`Insider CIK`), .SDcols = setdiff(names(InsiderList3), 
      'rid')][order(rid)][, rid := NULL][]

使用 OP 的代码,这将是相反的 match 并复制这些元素

idx <- match(as.character(DT1$`Insider CIK`), 
              as.character(InsiderList3$`Insider CIK`) )
out <- InsiderList3[rep(idx, table(InsiderList3$`Insider CIK`)),]
row.names(out) <- NULL
out
#   Insider CIK Transaction Date                       Issuer
#1   0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#2   0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#3   0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#4   0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#5   0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#6   0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#7   0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
#8   0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
# ...

【讨论】:

  • 谢谢,但我能做到。问题在于创建一个与原始尺寸匹配的新表,但每个系列中只有第一个值而不是全部。 IE。如果 CIK 编号匹配 1 在 1:70 行中,那么我希望从 1:70 开始复制第 1 行。我知道这听起来很迂回,但我将提取 Transaction Date 和 Issue 列以绑定到原始列(这就是我需要索引匹配的原因),以便我可以相对于最后提交日期进行计算。感谢您的帮助。
  • 我试过了,但我不能。使用这种方法,我得到的数据框与原始数据框几乎相同,我同意这很奇怪。
  • @js80 你需要InsiderList3 %&gt;% group_by(Insider CIK) %&gt;% mutate(firstTransactionDate = first(Transaction Date))
  • 这看起来可行。很抱歉,这太难了。我非常感谢帮助。我做这个练习的全部原因是我使用 mutate 来捕获每个 CIK 编号出现的第一个日期,以计算后续申请和逻辑测试之间的时间差异,无论出于何种原因,我只收集第一个日期在整个数据框中,而不是针对每个后续 CIK 编号。再次感谢您。
【解决方案2】:

在创建第二个数据集时,稍微更改数据以显示行 ID。

数据:

InsiderList3$`Insider CIK`[75] <- "0001008134"

代码:

library(data.table)
setDT(InsiderList3)
df2 <- InsiderList3[rowid(`Insider CIK`) == 1, ]
InsiderList4 <- copy(InsiderList3)
InsiderList4[df2, on = c("Insider CIK"), `:=` (`Transaction Date` = `i.Transaction Date`,
                                               Issuer = i.Issuer)]

输出:

InsiderList4
#   Insider CIK Transaction Date                       Issuer
# 1:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 2:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 3:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 4:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 5:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 6:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 7:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 8:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 9:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 10:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 11:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 12:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 13:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 14:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 15:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 16:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 17:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 18:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 19:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 20:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 21:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 22:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 23:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 24:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 25:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 26:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 27:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 28:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 29:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 30:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 31:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 32:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 33:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 34:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 35:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 36:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 37:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 38:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 39:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 40:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 41:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 42:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 43:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 44:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 45:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 46:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 47:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 48:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 49:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 50:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 51:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 52:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 53:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 54:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 55:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 56:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 57:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 58:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 59:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 60:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 61:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 62:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 63:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 64:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 65:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 66:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 67:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 68:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 69:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 70:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 71:  0001008134       2019-12-31 TRANSATLANTIC PETROLEUM LTD.
# 72:  0001009891             <NA>                           NA
# 73:  0001012859       2020-04-06     NATIONAL HEALTHCARE CORP
# 74:  0001012859       2020-04-06     NATIONAL HEALTHCARE CORP
# 75:  0001008134       2020-04-06 TRANSATLANTIC PETROLEUM LTD.
# Insider CIK Transaction Date                       Issuer

【讨论】:

  • 谢谢,但我想匹配第一行在主表中的位置,并留下一个单独的相同尺寸的新表,该表仅显示有对应匹配的第一行在 Insider CIK 号码中
  • 我不明白你的评论。您可以通过InsiderList3[, rowid(Insider CIK) ] 获取行索引。您还有其他数据可以与过滤后的数据集匹配吗?
  • 我想使用一个数据框来创建两个具有相同索引的数据框。第一个是完整的数据框,然后第二个是相同的维度,但只是第一行的数据与索引匹配并重复,直到出现下一个 CIK 匹配。那是在原文的第 71 行。
  • 和原版一模一样。唯一的区别是,例如,如果第一个 CIK 编号显示第 1-70 行中的事务,则第二个数据框将仅包含这些行中该匹配项的第一个值。等等其他比赛。这样我就可以绑定两者并确信我匹配正确。谢谢。
  • 查看我的编辑。它现在应该可以工作了。您似乎想将第一行与组中的其他行复制。
猜你喜欢
  • 2017-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-03
  • 1970-01-01
  • 1970-01-01
  • 2015-08-07
  • 1970-01-01
相关资源
最近更新 更多