小编use*_*427的帖子

使用 data.table 模糊连接两个数据框

我一直致力于fuzzyjoin将 2 个数据帧连接在一起,但是由于连接导致的内存问题cannot allocate memory of…。所以我正在尝试使用data.table. 数据示例如下。

df1 看起来像:

        ID     f_date               ACCNUM    flmNUM start_date   end_date
1    50341 2002-03-08 0001104659-02-000656   2571187 2002-09-07 2003-08-30
2  1067983 2009-11-25 0001047469-09-010426  91207220 2010-05-27 2011-05-19
3   804753 2004-05-14 0001193125-04-088404   4805453 2004-11-13 2005-11-05
4  1090727 2013-05-22 0000712515-13-000022  13865105 2013-11-21 2014-11-13
5  1467858 2010-02-26 0001193125-10-043035  10640035 2010-08-28 2011-08-20
6   858877 2019-01-31 0001166691-19-000005  19556540 2019-08-02 2020-07-24
7     2488 2016-02-24 0001193125-16-476010 161452982 2016-08-25 2017-08-17
8  1478242 2004-03-12 0001193125-04-039482   4664082 2004-09-11 2005-09-03
9  1467858 2017-02-16 …
Run Code Online (Sandbox Code Playgroud)

r data.table fuzzyjoin

6
推荐指数
1
解决办法
703
查看次数

根据汇总计数计算序列

我正在尝试从以下数据构造一系列行/值:

# A tibble: 4 x 2
  year_row breaks
  <chr>     <int>
1 2015          7
2 2016          6
3 2017          5
4 2018          5
Run Code Online (Sandbox Code Playgroud)

那是;

7 + 6 = 13

+5 = 18

+5 = 23

预期产量:

2015     1:7
2016     8:13
2017     14:18
2018     19:23
Run Code Online (Sandbox Code Playgroud)

然后我可以在以后使用某些函数/循环中的序列

数据:

structure(list(year_row = c("2015", "2016", "2017", "2018"), 
    breaks = c(7L, 6L, 5L, 5L)), class = c("tbl_df", "tbl", "data.frame"
), row.names = c(NA, -4L))
Run Code Online (Sandbox Code Playgroud)

r

5
推荐指数
2
解决办法
71
查看次数

在r中找到接近某个值的倍数

我想找到因为我有三个数字最接近的数字xyz。我想找到最接近的倍数z最接近x^y

一些例子:

x <- 349
y <- 1
z <- 4

x <- 395
y <- 1
z <- 7

x <- 4
y <- -2
z <- 2
Run Code Online (Sandbox Code Playgroud)

结果应如下所示:

  • 最接近的倍数4349就是348
  • 最接近的倍数7395就是392
  • 最接近的倍数21/16就是0

r

5
推荐指数
1
解决办法
77
查看次数

将分钟转换为星期几和小时

我有以下数据,如下所示:

        WEEK MINUTE
1 2008-01-07    459
2 2008-01-07   3609
3 2008-01-14   3470
4 2008-01-14   6347
5 2008-01-14   6669
6 2008-01-14   9330
Run Code Online (Sandbox Code Playgroud)

我想MINUTE从特定的一周转换成一天的时间.上面的第一周开始,2008-01-012008-01-06在午夜结束.如何从MINUTE列中获取更多信息,即一天中的时间和一周中的某一天.

我一直在看lubridate包裹.

数据:

df <- structure(list(WEEK = structure(c(13885, 13885, 13892, 13892, 
    13892, 13892, 13899, 13899, 13906, 13906, 13913, 13913, 13920, 
    13927, 13927, 13927, 13934, 13941, 13941, 13941, 13948, 13948, 
    13955, 13955, 13962, 13962, 13962, 13976, 13976, 13983, 13997, 
    14004, 14004, 14011, 14018, 14018, 14025, 14025, 14032, 14032, 
    14039, 14039, …
Run Code Online (Sandbox Code Playgroud)

r

4
推荐指数
1
解决办法
60
查看次数

rgdax(coinbase)数据未按预期收集数据

我正在尝试使用rgdaxR 包来下载一些历史价格。

我设置了我的 API 密钥等,并尝试在过去 24 小时内加载:

start <- strftime(Sys.time(), "%Y-%m-%dT%H:%M:%SZ", tz = "UTC")
end <- strftime(Sys.time(), "%Y-%m-%dT%H:%M:%SZ", tz = "UTC") 

df <- public_candles(product_id = "ETH-EUR", granularity = 300, start = start, end = end)
Run Code Online (Sandbox Code Playgroud)

然而,这加载了“太多”的数据。

我想要过去 24 小时的数据,但加载的时间比这多一点。

Head()
                   time    low   high   open  close volume
329 2019-01-22 16:25:00 104.09 104.12 104.09 104.09  16.03
328 2019-01-22 16:30:00 104.11 104.14 104.12 104.13  21.61
327 2019-01-22 16:35:00 103.88 104.12 104.10 103.97 161.35
326 2019-01-22 16:40:00 103.96 103.97 103.96 103.97  26.59 …
Run Code Online (Sandbox Code Playgroud)

r

4
推荐指数
1
解决办法
192
查看次数

ggplot中每个时间段的日期之间的阴影

我有一些每日时间序列,我正在尝试使用 来对绘图的某些区域进行着色ggplot。我想在每年的七月到八月之间进行遮阳。我正在尝试geom_rect,我可以在两个日期之间获取它,但不能在每年的相同日期之间获取它。

数据:

library(dplyr)
library(ggplot2)
library(tidyquant)

data(FANG)
data <- FANG %>% 
  filter(symbol == "FB")


data %>% 
  ggplot(aes(x = date, y = adjusted)) +
  geom_line()
Run Code Online (Sandbox Code Playgroud)

r ggplot2

3
推荐指数
1
解决办法
1553
查看次数

ggplot 将平均线添加到特定月份的方面

我正在尝试为我拥有的每一年的时间序列 ggplot 图添加“3”月份的“平均”线。

我想通过facets- 我尝试过等的平均值绘制一条水平线group_bymutate但无法使其正常工作。

预期输出将只是基于每个方面的水平线,基于该方面的月“3”平均值。

代码:

dat %>% 
  ggplot(aes(x = day, y = NO2)) +
  geom_line() +
  facet_grid(~year)
Run Code Online (Sandbox Code Playgroud)

数据:

dat <- structure(list(station_location = c("Pza del Carmen", "Pza del Carmen", 
"Pza del Carmen", "Pza del Carmen", "Pza del Carmen", "Pza del Carmen", 
"Pza del Carmen", "Pza del Carmen", "Pza del Carmen", "Pza del Carmen", 
"Pza del Carmen", "Pza del Carmen", "Pza del Carmen", "Pza del Carmen", 
"Pza del Carmen", "Pza del Carmen", "Pza del …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

3
推荐指数
1
解决办法
64
查看次数

将坐标从非常规格式的度数转换为十进制度数

我正在尝试转换我的数据,以便它可以绘制在地图上。例如,数据如下所示:

# A tibble: 2 x 2
  Latitud           Longitud        
  <chr>             <chr>           
1 10º 35' 28.98'' N 3º 41' 33.91'' O
2 10º 35' 12.63'' N 3º 45' 46.22'' O
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下方法对其进行变异:

df %>% 
  mutate(
    Latitud = str_replace_all(Latitud, "''", ""),
    lat_edit = sp::char2dms(Latitud), "°")
Run Code Online (Sandbox Code Playgroud)

返回和错误:

Error in if (any(abs(object@deg) > 90)) return("abs(degree) > 90") : 
  missing value where TRUE/FALSE needed
In addition: Warning message:
In asMethod(object) : NAs introduced by coercion
Run Code Online (Sandbox Code Playgroud)

我想在 ggplot (或其他空间包)的地图上绘制这两个点

数据:

structure(list(Latitud = c("40º 25' 25.98'' N", "40º …
Run Code Online (Sandbox Code Playgroud)

r geo dataframe stringr dplyr

1
推荐指数
1
解决办法
336
查看次数

标签 统计

r ×8

ggplot2 ×2

data.table ×1

dataframe ×1

dplyr ×1

fuzzyjoin ×1

geo ×1

stringr ×1