小编Tun*_*ung的帖子

保存 ggplotGrob 生成的 ggplot2 时间序列图 grob

这篇文章描述了一种在时间序列图上创建两线 x 轴(年份低于月份)的方法。不幸的是,我在这篇文章中使用的方法(选项 2)与ggsave().

library(tidyverse)
library(lubridate)

df <- tibble(
  date = as.Date(41000:42000, origin = "1899-12-30"), 
  value = c(rnorm(500, 5), rnorm(501, 10))
)

p <- ggplot(df, aes(date, value)) + 
  geom_line() + 
  geom_vline(
    xintercept = as.numeric(df$date[yday(df$date) == 1]), color = "grey60"
  ) + 
  scale_x_date(date_labels = "%b", date_breaks = "month", expand = c(0, 0)) + 
  theme_bw() +
  theme(panel.grid.minor.x = element_blank()) + 
  labs(x = "")

# Get the grob
g <- ggplotGrob(p)

# Get the y axis
index …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 axis-labels gtable facet-grid

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

使用 rvest 从 Walmart 获取价格

我试图在 Selector Gadget 扩展程序的帮助下,通过 rvest 包从一些沃尔玛商店获取价格和库存状况。我能够获得商店的地址,但无法获得价格和库存状况。任何建议将不胜感激!

这是我到目前为止所做的

    library(dplyr)
    library(rvest)

    url <- read_html("http://www.walmart.com/store/25/search?query=50636282")

    selector_name<-".cs-secondary-copy"
    fnames <- html_nodes(x = url, css = selector_name) %>%
      html_text()
    fnames

    price <- html_nodes(x = url, css = ".sup") %>%
      html_text() %>% 
      as.numeric()
    price

    stock <- html_nodes(x = url, css = ".stockStatus-unavailable") %>%
      html_text()
    stock
Run Code Online (Sandbox Code Playgroud)

输出

    > fnames
    [1] "4820 S Clark St, Mexico, MO 65265"                   "Item availability is updated every day at midnight."
    > price
    numeric(0)
    > stock
    character(0)
Run Code Online (Sandbox Code Playgroud)

来自 Selector Gadget 的相关数据

    <span class="cs-secondary-copy">4820 S …
Run Code Online (Sandbox Code Playgroud)

r css-selectors web-scraping rvest

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

关于使用filter()函数设置数据的思考

我在一个按性别区分学校的区域中有一个数据集,我正在考虑比较同一所学校内的性别表现,但为此,我想限制我的数据只包括同时教授两种性别的学校。换句话说,我想删除只教授女性或男性的学校。

以下是我目前的代码,但尽管其中包括几所教授两种性别的学校,但它给了我零的观察:

## Limit Riyadh schools only to schools teaching both genders
two_gender_schools <- filter(riyadh_scores, school_name == "",
                             gender == "male", gender == "female")
Run Code Online (Sandbox Code Playgroud)

我的问题是,是否有一种有效的方法可以对我的数据进行子集化,而不必手动指定每个教授性别的学校名称?

r dplyr tidyr

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

如何从命令行使用 rscript 命令在 R 中运行作业数组?

R我想知道如何使用该函数运行 500 个并行作业Rscript。我目前有一个R文件的标题位于顶部:

args <- commandArgs(TRUE)
B <- as.numeric(args[1])
Num.Cores <- as.numeric(args[2])
Run Code Online (Sandbox Code Playgroud)

在 R 文件之外,我希望传递要运行的 500 个作业中的哪一个,由B. 另外,我想控制每个作业可用的核心/CPU 数量,Num.Cores

我想知道是否有软件或指南可以实现这一点。我目前有一台 CentOS 7/Linux 服务器,我知道一种方法是安装 Slurm。然而,这很麻烦,我想知道是否有办法用队列执行 500 个作业。谢谢。

hpc r cluster-computing parameter-passing slurm

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