小编avs*_*avs的帖子

在 R 中使用 dplyr 将列对相乘

我有一个包含犯罪数据和相关“价格”的数据框,按国家和年份组织(尽管我认为这在这里并不重要)。这是我的数据的一个子集:

> crime
# A tibble: 8 x 8
  iso    year  theft robbery burglary theft_price robbery_price burglary_price
  <chr> <dbl>  <dbl>   <dbl>    <dbl>       <dbl>         <dbl>          <dbl>
1 ALB    2003   3694     199      874        32.9          115           49.3
2 ALB    2004   3694     199      874        38.2          134           57.3
3 ALB    2005   3694     199      874        42.8          150           64.2
4 ALB    2006   3450     164      779        47.0          165           70.5
5 AUS    2003 722334   14634   586266       408.4         1427          612.4 
6 AUS    2004 636717   14634   512551       481.3         1683          721.2 
7 …
Run Code Online (Sandbox Code Playgroud)

r dplyr

6
推荐指数
2
解决办法
5027
查看次数

使用 dplyr 在多列上按组插入 NA

我有一个这样的数据框:

> head(df1)
  iso year var1 var2 var3
1 XXX 2005  165   29 2151
2 XXX 2006  160   21 2139
3 XXX 2007   NA   NA   NA
4 XXX 2008  184    9 3640
5 XXX 2009   NA   NA   NA
6 YYY 2005  206  461 8049 
Run Code Online (Sandbox Code Playgroud)

我想通过向后和向前进行最外面的非 NA 观察来替换NA基于周围年份的间歇年份NA以及范围开始和结束的年份。

我为一列执行此操作的代码是:

df1 %>% 
 group_by(iso) %>%
 mutate(var1 = na.approx(var1, na.rm = FALSE, rule = 1)) %>%
 mutate(var1 = na.locf(var1, na.rm = FALSE)) %>%
 mutate(var1 = na.locf(var1, na.rm = FALSE, fromLast …
Run Code Online (Sandbox Code Playgroud)

r zoo na dplyr

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

使用 gganimate 为地图制作动画需要使用哪个transition_*?

我想制作一张美国各县的动画分区统计图,其中包含一段时间内确诊的 COVID-19 病例数(是的,又一个冠状病毒图)。是三天数据选择的链接(欢迎建议更永久的托管位置)。以下是创建静态地图的代码(注释过滤器以包含所有日期):

library(tidyverse)
library(gganimate)
library(ggmap)
library(maps)
library(scales)

p <- part_data %>%
  filter(date == as.Date("2020-03-30")) %>%
  ggplot(aes(x = long, y = lat, group = group)) +
  geom_polygon(aes(fill = confirmed_new), color = "grey70", size = 0.05) + 
  geom_path(data = state_map, colour = "black") +
  coord_map() +
  scale_fill_distiller(trans = "log10", direction = 1, palette = "YlOrRd", na.value = "white", limits = c(1, 1E4), labels = comma)
Run Code Online (Sandbox Code Playgroud)

这给出了这个非常漂亮的情节: 地图图

但是我现在如何制作一个随日期移动的动画呢?我试过

p +
  transition_time(date)
Run Code Online (Sandbox Code Playgroud)

p + 
  transition_states(date)
Run Code Online (Sandbox Code Playgroud)

但在这两种情况下,R 似乎在渲染进度条出现之前就冻结了,过了一会儿我收到了错误Error: cannot allocate …

ggplot2 gganimate

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

重复数组行指定次数

Julia 的新手,所以这可能很容易。

我有一个 n×m 数组和一个长度为 n 的向量,并且想要在向量的相应元素中重复数组的每一行的次数。例如:

mat = rand(3,6)
v = vec([2 3 1])
Run Code Online (Sandbox Code Playgroud)

结果应该是一个 6×6 数组。我试过这个repeat功能但是

repeat(mat, inner = v)
Run Code Online (Sandbox Code Playgroud)

6×18×1 Array{Float64,3}:而是产生一个数组,因此它需要v是重复元素的维度。在 matlab 中我会使用repelem(mat, v, 1),我希望 julia 提供类似的东西。我的实际矩阵要大得多,我将不得不多次调用该函数,因此此操作需要尽可能快。

arrays julia

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

标签 统计

dplyr ×2

r ×2

arrays ×1

gganimate ×1

ggplot2 ×1

julia ×1

na ×1

zoo ×1