【问题标题】:Remove series of Duplicated Values删除一系列重复值
【发布时间】:2021-09-08 18:44:44
【问题描述】:

我已将多个 Excel 工作表合并到一个数据框中,但 stock_code 列中的某些值重复,例如:X 公司的值从 01-01-2009 到 31-12-2020,但该范围内的值重复:(因为同一公司至少有两个excel文件具有相同的值)

> head(data,3)
# A tibble: 3 x 4
   tarih             stock_code       adj_close_price
  <dttm>              <chr>                <dbl>
1  2020-03-31 00:00:00 X                 2.87
2  2020-03-30 00:00:00 X               2.69
3  2020-03-27 00:00:00 X                 2.69
> tail(data,3)
# A tibble: 3 x 4
          tarih        stock_code       adj_close_price
         <dttm>          <chr>           <dbl>
1 2009-01-06 00:00:00  X                0.136
2  2009-01-05 00:00:00 X                0.129
3  2009-01-02 00:00:00 X               0.124

看起来不错,从 2009 年到 2020 年,然后再次显示从 2009 年到 2020 年的相同值(如顶部所示)。

我无法过滤它,因为我不想删除整个公司,但我只想删除重复的公司范围

这是我合并文件的方式,也许我应该添加一个条件以避免某种重复值?

xlsx_files <- c("düzelt1.xlsx",
                "düzelt2.xlsx",
                "düzelt3.xlsx",
                "düzelt4.xlsx",
                "düzelt5.xlsx",
                "düzelt6.xlsx",
                "düzelt7.xlsx",
                "düzelt8.xlsx")

dataframes &lt;- lapply(xlsx_files, function(x) 
    read_excel(path = paste0("~/weekly_stock/", x)))

df <- do.call("rbind", dataframes)

tail(df)

files <- list.files(path = "~/weekly_stock", pattern = "*.xlsx", full.names = T)

weekly_stock <- sapply(files, read_excel, simplify=FALSE) %>% 
    bind_rows(.id = "id")

感谢您的回复。

【问题讨论】:

    标签: r excel dplyr


    【解决方案1】:

    您可以使用distinct 为每个stock_code 仅保留tarih 的唯一值。

    library(dplyr)
    
    weekly_stock <- sapply(files, read_excel, simplify=FALSE) %>% 
      bind_rows(.id = "id") %>%
      distinct(stock_code, tarih, .keep_all = TRUE)
    

    【讨论】:

      【解决方案2】:

      请尝试 dplyr::distinct() 下面的通用示例:

      stock.data<- data.frame(stock =c("A","B","C","A","A"), date=c("2009","2009","2009","2010","2009"),price=c(20,30,40,50,20))
      
      stock.data %>% distinct()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-14
        • 1970-01-01
        • 2021-09-12
        • 2021-07-01
        • 2018-11-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多