小编Rob*_*man的帖子

替换变量的所有NA值,其中一行等于0

这句话有点难,据我所知,没有一个类似的问题回答了我的问题.

我有一个data.frame,如:

df1 <- data.frame(id = rep(c("a", "b","c"), each = 4),
                  val = c(NA, NA, NA, NA, 1, 2, 2, 3,NA,2,NA,3))

df1

   id val
1   a  NA
2   a  NA
3   a  NA
4   a  NA
5   b   1
6   b   2
7   b   2
8   b   3
9   c  NA
10  c   2
11  c  NA
12  c   3
Run Code Online (Sandbox Code Playgroud)

我想摆脱所有NA值(使用例如filter()很容易),但要确保如果这删除了所有的一个id值(在这种情况下它删除了"a"的每个实例),那么一个额外的行是插入(例如)a = 0

以便:

  id val
1  a   0
2  b   1
3  b   2
4  b   2
5  b …
Run Code Online (Sandbox Code Playgroud)

r complete na

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

在 ggplot2 中躲避两个不同的几何体

假设我有两个不同的数据源。一种是重复观察,一种只是模型预测的平均值 +/- 标准误差。

n <- 30
obs <- data.frame(
  group = rep(c("A", "B"), each = n*3),
  level = rep(rep(c("low", "med", "high"), each = n), 2),
  yval = c(
    rnorm(n, 30), rnorm(n, 50), rnorm(n, 90),
    rnorm(n, 40), rnorm(n, 55), rnorm(n, 70)
  )
) %>%
  mutate(level = factor(level, levels = c("low", "med", "high")))

model_preds <- data.frame(
  group = c("A", "A", "A", "B", "B", "B"),
  level = rep(c("low", "med", "high"), 2),
  mean = c(32,56,87,42,51,74),
  sem = runif(6, min = 2, max = 5) …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 boxplot errorbar

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

使用 tidymodels 运行多个回归模型

我最近一直在使用 tidymodels 来运行模型并选择最能满足某些目标函数的参数。例如,对 mtcars 数据使用假设回归(使用此问题底部答案中的回归示例作为示例

library(tidymodels)
library(tidyverse)

#some regression model
cars_recipe <- recipe(mpg ~ disp + drat, data = mtcars)

wf <- workflow() %>%
  add_recipe(cars_recipe)

Run Code Online (Sandbox Code Playgroud)

(粗略地使用此博客文章中的语法进行比较;在此示例中,为了清晰起见,我没有执行诸如拆分测试/训练之类的各种步骤)

然后,我可以运行许多模型并从这些模型中获取指标(在这种情况下,针对某些弹性网络的各种惩罚)

#run over a parameter space and find metrics as an objective
mtcars_bootstrap <- bootstraps(mtcars)

tune_spec <- linear_reg(penalty = tune(), mixture = 1) %>%
  set_engine("glmnet")

lambda_grid <- grid_regular(penalty(), levels = 50)

lasso_grid <- tune_grid(
  wf %>% add_model(tune_spec),
  resamples = mtcars_bootstrap,
  grid = lambda_grid
)
Run Code Online (Sandbox Code Playgroud)

但是可以说我有充分的理由认为有两个单独的模型可以最好地捕捉对汽车的(例如)mpg 的影响,所以我创建了第二个模型作为配方

cars_recipe2 <- recipe(mpg ~ …
Run Code Online (Sandbox Code Playgroud)

regression r tidymodels

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

在传单中手动添加图例值

我正在从英国的传单中绘制各种英国选举的结果,并在传说中遇到了一些问题。

对于大选中的各种结果,我对不同的数据使用了具有不同域的相同颜色函数(图片中的黄色->紫色比例)

这是用(以前两个为例)创建的:

labvotescols <- colorNumeric(
  c("Yellow", "Purple"),
  domain = Westminster$LabourVotes,
  ukipvotescols <- colorNumeric(
    c("Yellow", "Purple"),
    domain = Westminster$UKIPVotes,
Run Code Online (Sandbox Code Playgroud)

等等...

目前我有传说

map = map %>% addLegend("bottomright", pal = ukipvotescols, values = Westminster$UKIPVotes,
                    title = "(e.g.) % voting UKIP at GE2015",
                    opacity = 1)
Run Code Online (Sandbox Code Playgroud)

作为一个例子,但是我真的想摆脱图例中的所有值,只在黄色端有“较少”,在紫色端有“更多”。这可能吗? 显示比例的地图图片

我试着玩,然后谷歌搜索,但无济于事。

r legend palette leaflet

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

在种子中生成随机数

对于 python 来说相对较新,所以对任何糟糕的编码表示歉意。

我正在使用搅拌机创建随机刺激集,使用树苗添加来创建类似的东西在此输入图像描述

我还想在平面上方的半球中定义随机相机位置和角度,这是通过生成两个随机数(在下面的示例中为 u 和 v)来实现的。

但是,调用 py.ops.curve.tree_add 函数(生成树)会设置某种种子,这意味着我生成的随机数始终相同。

例如,在示例代码中,它根据为 basesize/basesplit 生成的 randint() 创建一系列不同的树。

然而,对于生成的每棵独特的树,随机数 u 和 v 始终相同。这意味着对于我生成的每棵随机树,相机角度都是特定于该树的(并且不是完全随机的)

我假设这是通过一些种子发生的,所以我想知道是否有办法告诉 python 生成随机数并忽略任何种子?

最好的,

示例代码:(import bpy是blender的python api模块)

### libraries
import bpy
from random import random, randint

u = random()
v = random()
obj = bpy.ops.curve.tree_add(bevel = True,
                                prune = True,
                                showLeaves = True,
                                baseSize = randint(1,10)/10,
                                baseSplits = randint(0,4))
print(u)
print(v)
Run Code Online (Sandbox Code Playgroud)

如果有帮助的话,我生成一个球体来放置相机然后将其指向对象的函数是(为了简洁起见,我没有包含库/脚本的其余部分等 - 它在定义的中心周围创建一个点这是一个半径 r 的距离,并且与上述问题不同):

#generate the position of the new camera
def randomSpherePoint(sphere_centre, r, u, v):
    theta …
Run Code Online (Sandbox Code Playgroud)

python random seed blender

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

从维基百科表中抓取网址

我试图刮取页面https://en.wikipedia.org/wiki/UEFA_Euro_2012_squads并可以使用rvest取消文本数据

library(plyr)
library(XML)
library(rvest)
library(dplyr)
library(magrittr)
library(data.table)

for(i in 1:16)
{
float <- paste("squad", i, sep ="")
print(float)
html = read_html("https://en.wikipedia.org/wiki/UEFA_Euro_2012_squads")
assign(float, html_table(html_nodes(html, "table")[[i]]))
}
Run Code Online (Sandbox Code Playgroud)

但是也想在俱乐部的每张桌子上添加一个额外的栏目.例如对于小队1(页面上的波兰小队,截断以显示前5名球员)

     0#0 Pos.              Player                    Date of birth (age) Caps Goals                Club
1   1  1GK  Wojciech Szczęsny    (1990-04-18)18 April 1990 (aged 22)   11     0             Arsenal
2   2  2DF  Sebastian Boenisch  (1987-02-01)1 February 1987 (aged 25)    9     0       Werder Bremen
3   3  2DF Grzegorz Wojtkowiak  (1984-01-26)26 January 1984 (aged 28)   19     0        Lech Poznań
4 …
Run Code Online (Sandbox Code Playgroud)

screen-scraping r href rvest

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

在Rcpp中找到向量中所有最大/最小值的索引

假设我有一个向量

v = c(1,2,3)
Run Code Online (Sandbox Code Playgroud)

我可以轻松找到使用的最大元素

cppFunction('int which_maxCpp(NumericVector v) {
  int z = which_max(v);
  return z;
}')

which_maxCpp(v)

2
Run Code Online (Sandbox Code Playgroud)

但是,如果我有一个向量

v2 = c(1,2,3,1,2,3)
Run Code Online (Sandbox Code Playgroud)

得到

which_maxCpp(v2)

2
Run Code Online (Sandbox Code Playgroud)

而我应该发现索引2和索引5(如果使用1索引,则索引3和索引6)等于向量中的最大值

有没有一种方法可以获取which_max(或which_min)来查找向量的所有最小/最大元素的索引,还是需要另一个(我假设是本机C ++)函数?

r max rcpp

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

带有seq的na.locf在R中的大列中

我目前正在使用一个大型data.table,它具有基于2个参考列的某些组,然后有一个距离列,为每个组的第一行定义,然后每次跳过2个单元.

制作一个非常小的可重复的例子,我有:

reference1 <- c("ref1", "ref1", "ref1", "ref2", "ref2", "ref2", "ref2", "ref3", "ref3", "ref3")
reference2 <- c("fer1", "fer1", "fer1", "fer1", "fer1", "fer1", "fer1", "fer2", "fer2", "fer2")
firstdist <- c(2, NA, NA, 5, NA, NA, NA, 8, NA, NA)
 df <- data.frame(ref1 = reference1,
                  ref2 = reference2,
                  dist = firstdist)
Run Code Online (Sandbox Code Playgroud)

相当于

   ref1 ref2 dist
1  ref1 fer1    2
2  ref1 fer1   NA
3  ref1 fer1   NA
4  ref2 fer1    5
5  ref2 fer1   NA
6  ref2 fer1   NA
7  ref2 fer1 …
Run Code Online (Sandbox Code Playgroud)

r zoo data.table

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