我正在看这个使用的例子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) 我知道这是一个重复的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的解决方案.谢谢!
很难找到解决以下问题的有效方法.问题非常冗长,因为我不确定我是否比这更难解决这个问题.
给定一个命名向量
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))或 …
我想使用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列?
我经常希望执行tidyr::spread并按dplyr::summarise"单步"按组聚合数据.我想要的是显示的expected.我可以expected通过执行summarise和spread单独进行并将结果与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) 我已经查看并尝试了几乎所有关于此主题的其他帖子,但都没有成功。
我正在使用,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)
我安装python36并selenium使用:
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) 我有以下示例数据框:
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::map和dplyr::select仅column C在嵌套数据框中选择?我希望避免unnest.结果应该是:
A data
<dbl> <list>
1 1 <tibble [3 x 1]>
Run Code Online (Sandbox Code Playgroud) 我想知道是否有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动词链接的语句
我有以下四个向量:
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)
我该怎么办?
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)
有任何想法吗?谢谢!
这是一个例子
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) 抱歉,如果这是重复的帖子 - 但我找不到相关的帖子
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。提前致谢!