r - 删除一系列重复值
问题描述
我已将多个 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 <- 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")
感谢并感谢您的回复。
解决方案
您可以使用仅保留for eachdistinct
的唯一值。tarih
stock_code
library(dplyr)
weekly_stock <- sapply(files, read_excel, simplify=FALSE) %>%
bind_rows(.id = "id") %>%
distinct(stock_code, tarih, .keep_all = TRUE)
推荐阅读
- javascript - 如果未保存,则拒绝对表单进行新的更改
- python - 有没有办法自定义从 conftest.py 登录 pytest 的格式
- assembly - 装配图形/视频模式 - 如何创建视频模式?具有自定义尺寸的屏幕?
- django - 数据未保存为加密数据 django
- c# - 如何在.Net中正确地将结构数组转换为IntPtr
- javascript - 无法让 while 循环在 JavaScript 中工作
- javascript - 如何根据另一个数组对一个数组进行更改,否则添加到第一个数组的末尾?
- powershell - 为什么 Windows 空闲时 power-shell 脚本执行停止
- c - 如何在C中按字母顺序排列数据?
- javascript - mouseenter/mouseleave 事件的动态属性