小编CPa*_*Pak的帖子

purrr :: map中first tilde的含义是什么?

我正在看这个使用的例子map.这里是:

mtcars %>%
  split(.$cyl) %>% # from base R
  map(~ lm(mpg ~ wt, data = .))
Run Code Online (Sandbox Code Playgroud)

第一个波浪号的含义是什么map(~ lm...?也就是说,R如何解释第一个波浪号?(据我所知,第二个代字号表示功能......).另一种询问方式是,为什么以下不起作用?

mtcars %>%
  split(.$cyl) %>% # from base R
  map(lm(mpg ~ wt, data = .))
Run Code Online (Sandbox Code Playgroud)

r tilde purrr

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

合并包含NA的数据框中的行以生成完整的行

我知道这是一个重复的Q但我似乎无法再找到这个帖子

使用以下数据

df <- data.frame(A=c(1,1,2,2),B=c(NA,2,NA,4),C=c(3,NA,NA,5),D=c(NA,2,3,NA),E=c(5,NA,NA,4))

  A  B  C  D  E
  1 NA  3 NA  5
  1  2 NA  2 NA
  2 NA NA  3 NA
  2  4  5 NA  4
Run Code Online (Sandbox Code Playgroud)

分组A,我想使用tidyverse解决方案的以下输出

  A  B  C  D  E
  1  2  3  2  5
  2  4  5  3  4
Run Code Online (Sandbox Code Playgroud)

我有很多小组A.我想我看到了一个答案,coalesce但我不确定如何让它发挥作用.我想要一个同样适用characters解决方案.谢谢!

r coalesce tidyverse

10
推荐指数
3
解决办法
2699
查看次数

将矢量拆分为平衡列表(平衡列表元素的总和)

很难找到解决以下问题的有效方法.问题非常冗长,因为我不确定我是否比这更难解决这个问题.

给定一个命名向量

t <- c(2, 0, 0, 30, 0, 0, 10, 2000, 0, 20, 0, 40, 60, 10)
names(t) <- c(1, 0, 0, 2, 0, 0, 3, 4, 0, 5, 0, 6, 7, 8)
Run Code Online (Sandbox Code Playgroud)

我想分成t4个元素的列表,这些元素基于结果列表元素的总和进行平衡,同时保持元素的顺序,并且仅在非零元素上进行分割.预期结果

L[1] <- c(2, 0, 0, 30, 0, 0, 10) # sum = 42
L[2] <- c(2000, 0)               # sum = 2000
L[3] <- c(20, 0, 40)             # sum = 60
L[4] <- c(60, 10)                # sum = 70
Run Code Online (Sandbox Code Playgroud)

我使用的错误功能是最小化sd(rowSums(L))或 …

algorithm split r vector

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

tidyr使用正则表达式将列值分隔为字符和数字

我想使用tidyr::separate和regex表达式分隔列值,但我是regex表达式的新手

df <- data.frame(A=c("enc0","enc10","enc25","enc100","harab0","harab25","harab100","requi0","requi25","requi100"), stringsAsFactors=F) 
Run Code Online (Sandbox Code Playgroud)

这就是我尝试过的

library(tidyr)
df %>%
   separate(A, c("name","value"), sep="[a-z]+")
Run Code Online (Sandbox Code Playgroud)

输出不好

   name value
1           0
2          10
3          25
4         100
5           0
# etc
Run Code Online (Sandbox Code Playgroud)

如何保存name列?

regex r tidyr

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

将tidyr :: spread和dplyr :: summarize结合在一起

我经常希望执行tidyr::spread并按dplyr::summarise"单步"按组聚合数据.我想要的是显示的expected.我可以expected通过执行summarisespread单独进行并将结果与a相结合,dplyr::full_join但我正在寻找避免full_join的替代方法.不需要真正的单步骤方法.

df <- data.frame(
        id = rep(letters[1], 2),
        val1 = c(10, 20),
        val2 = c(100, 200),
        key = c("A", "B"),
        value = c(1, 2))

library(tidyverse)
result1 <- df %>%
              group_by(id) %>%
              summarise(
                val1 = min(val1),
                val2 = max(val2)
              )
# A tibble: 1 x 3
  # id      val1  val2
  # <fctr> <dbl> <dbl>
# 1 a       10.0   200

result2 <- df %>%
              select(id, key, …
Run Code Online (Sandbox Code Playgroud)

r dplyr tidyr

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

Selenium 适用于 AWS EC2 但不适用于 AWS Lambda

我已经查看并尝试了几乎所有关于此主题的其他帖子,但都没有成功。

EC2

我正在使用,python 3.6所以我正在使用以下 AMI amzn-ami-hvm-2018.03.0.20181129-x86_64-gp2(请参阅此处)。通过 SSH 连接到我的 EC2 后,我使用以下命令下载 Chrome:

sudo curl https://intoli.com/install-google-chrome.sh | bash
cp -r /opt/google/chrome/ /home/ec2-user/
google-chrome-stable --version
# Google Chrome 86.0.4240.198 
Run Code Online (Sandbox Code Playgroud)

并下载并解压缩匹配的 Chromedriver:

sudo wget https://chromedriver.storage.googleapis.com/86.0.4240.22/chromedriver_linux64.zip
sudo unzip chromedriver_linux64.zip
Run Code Online (Sandbox Code Playgroud)

我安装python36selenium使用:

sudo yum install python36 -y
sudo /usr/bin/pip-3.6 install selenium
Run Code Online (Sandbox Code Playgroud)

然后运行脚本:

import os
import selenium
from selenium import webdriver

CURR_PATH = os.getcwd()
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--headless')
chrome_options.add_argument('--window-size=1280x1696')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--hide-scrollbars')
chrome_options.add_argument('--enable-logging')
chrome_options.add_argument('--log-level=0')
chrome_options.add_argument('--v=99')
chrome_options.add_argument('--single-process')
chrome_options.add_argument('--ignore-certificate-errors')
chrome_options.add_argument('--remote-debugging-port=9222') …
Run Code Online (Sandbox Code Playgroud)

python selenium amazon-web-services selenium-webdriver

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

dplyr ::选择嵌套数据框

我有以下示例数据框:

library(tibble)
library(tidyverse)
df <- tibble(A = 1, B = 1)
df2 <- tibble(C = 2:4, D = 4:6)
df <- df %>%
        nest(B) %>%
        mutate(data = map(data, ~df2))
Run Code Online (Sandbox Code Playgroud)

它是3x2数据框(df2)中的嵌套1x2数据框(df).有没有办法组合purrr::mapdplyr::selectcolumn C在嵌套数据框中选择?我希望避免unnest.结果应该是:

      A             data
  <dbl>           <list>
1     1 <tibble [3 x 1]>
Run Code Online (Sandbox Code Playgroud)

select r dplyr purrr

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

dplyr相当于DF [DF == X] < - Y.

我想知道是否有dplyr相同的

df <- data.frame(A=1:5,B=2:6,C=-1:3)
df[df==2] <- 10
Run Code Online (Sandbox Code Playgroud)

我在找

df %>% <??>
Run Code Online (Sandbox Code Playgroud)

也就是说,可以与其他dplyr动词链接的语句

r dplyr

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

如何合并矢量列表(在R中),使它们具有最小长度?

我有以下四个向量:

A <- c(5, 5, 5, 5, 5, 5, 5)
B <- c(6, 6, 6)
C <- c(7, 7, 7, 7)
D <- c(8, 8, 8, 8)
Run Code Online (Sandbox Code Playgroud)

最后,我想将这个矢量列表(这里是4个矢量)转换成完整矢量的所有成对组合(即没有单个矢量的分裂)最小长度为7级联矢量.因此,一种可能的解决方案是:

s1 <- c(5, 5, 5, 5, 5, 5, 5, 6, 6, 6)
s2 <- c(7, 7, 7, 7, 8, 8, 8, 8)
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

merge r

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

从facet_wrap更改标题的字体大小

可重复的例子

set.seed(1)
df <- data.frame(A=rep(c("good","bad"),each=8),
                 B=rep(c("yes","no"),4),
                 C=sample(1:20,16),
                 stringsAsFactors=F) %>%
      group_by(A,B)
Run Code Online (Sandbox Code Playgroud)

我想改变标题的字体大小facet_wrap('坏''好')

ggplot(df, aes(x=B, y=C)) +
  geom_violin() +
  geom_point() +
  facet_wrap(~A, nrow=1) +
  theme_classic() + 
  theme( axis.text = element_text( size = 14 ),
         axis.text.x = element_text( size = 20 ),
         axis.title = element_text( size = 16, face = "bold" ),
         legend.position="none" )
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢!

r ggplot2

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

在dplyr链中动态重命名列名

这是一个例子

temp <- mtcars
colnames(temp)[grepl("ge", colnames(temp))] <- "garbage"
Run Code Online (Sandbox Code Playgroud)

产量

                     mpg cyl  disp  hp drat    wt  qsec vs am garbage carb
Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1       4    4
Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1       4    4
Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1       4    1
Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0       3    1
Hornet Sportabout   18.7   8 360.0 175 …
Run Code Online (Sandbox Code Playgroud)

r rename dplyr

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

按单列的分位数对 pandas 数据框进行分组

抱歉,如果这是重复的帖子 - 但我找不到相关的帖子

from random import seed
seed(100)
P = pd.DataFrame(np.random.randint(0, 100, size=(1000, 2)), columns=list('AB'))
Run Code Online (Sandbox Code Playgroud)

我想要的是P按列的四分位数/分位数/十分位数/等进行分组A,然后按组计算聚合统计数据(例如mean)。我可以将列的十分位数定义为

P['A'].quantile(np.arange(10) / 10)
Run Code Online (Sandbox Code Playgroud)

我不知道如何对 的十分位数进行分组A。提前致谢!

python dataframe pandas

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