小编eme*_*hex的帖子

从URL列表中收获(rvest)多个HTML页面

我有一个如下所示的数据框:

country <- c("Canada", "US", "Japan", "China")
url <- c("http://en.wikipedia.org/wiki/United_States", "http://en.wikipedia.org/wiki/Canada",
          "http://en.wikipedia.org/wiki/Japan", "http://en.wikipedia.org/wiki/China")
df <- data.frame(country, url)

    country link
1   Canada  http://en.wikipedia.org/wiki/United_States
2   US      http://en.wikipedia.org/wiki/Canada
3   Japan   http://en.wikipedia.org/wiki/Japan
4   China   http://en.wikipedia.org/wiki/China
Run Code Online (Sandbox Code Playgroud)

使用rvest我想抓取每个url 的目录并将它们绑定到一个单独的输出.

此代码提取一个URL的目录:

library(rvest)
toc <- html(url) %>%
  html_nodes(".toctext") %>%
  html_text()
Run Code Online (Sandbox Code Playgroud)

期望的输出:

country toc
US      Etymology
        History
        Native American and European contact
        Settlements
        ...  
Canada  Etymology
        History
        Aboriginal peoples
        European colonization
        ...etc
Run Code Online (Sandbox Code Playgroud)

r rvest

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

paste0多个不同长度的列表,没有循环

我将一堆变量粘贴到一个确定的url列表中

id <- 1:10
animal <- c("dog", "cat", "fish")
base <- "www.google.com/"

urls <- paste0(base, "id=", id, "search=", animal)
Run Code Online (Sandbox Code Playgroud)

输出如下:

 [1] "www.google.com/id=1search=dog"  "www.google.com/id=2search=cat"  "www.google.com/id=3search=fish"
 [4] "www.google.com/id=4search=dog"  "www.google.com/id=5search=cat"  "www.google.com/id=6search=fish"
 [7] "www.google.com/id=7search=dog"  "www.google.com/id=8search=cat"  "www.google.com/id=9search=fish"
[10] "www.google.com/id=10search=dog"
Run Code Online (Sandbox Code Playgroud)

但我实际上希望ids并按animals顺序重复:

 [1] "www.google.com/id=1search=dog"  "www.google.com/id=2search=dog"  "www.google.com/id=3search=dog"
 [4] "www.google.com/id=4search=dog"  "www.google.com/id=5search=dog"  "www.google.com/id=6search=dog"
 [7] "www.google.com/id=7search=dog"  "www.google.com/id=8search=dog"  "www.google.com/id=9search=dog"
[10] "www.google.com/id=10search=dog" "www.google.com/id=1search=cat"   ...
Run Code Online (Sandbox Code Playgroud)

r

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

在一对列中查找最大/最小值

我的数据如下:

df <- tribble(
    ~A, ~B,     
    0.2, 0.1,
    0.2, 0.3,
    0.5, 0.1,
    0.7, 0.9,
    0.8, 0.9,
    0.4, 0.2)
Run Code Online (Sandbox Code Playgroud)

我如何选择A和之间的最大/最小值B

期望的输出:

   A    B    C  
1  0.2  0.1  0.2
2  0.2  0.3  0.3
3  0.5  0.1  0.5
4  0.7  0.9  0.9
5  0.8  0.9  0.9
6  0.4  0.2  0.4
Run Code Online (Sandbox Code Playgroud)

r dplyr tidyverse

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

将数据帧列转换为命名数字向量

我有一个数据帧blah:

blah <- data.frame(x=c("Red", "Blood Red", "Crimson", "Maroon"), y=c(20, 1, 14, 13))
Run Code Online (Sandbox Code Playgroud)

我想转换blah为命名数字/成员向量:

blah <- c(`Red` = 20, `Blood Red` = 1, `Crimson` = 14, `Maroon` = 13)
Run Code Online (Sandbox Code Playgroud)

x名称在哪里,y是值.

我怎样才能做到这一点?

r

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

强制rvest识别表(html_tag(x)=="table"不为TRUE)

我似乎无法开始html_table()工作.

这是一个很好的例子:(试图刮掉6场比赛:桌子)

library(rvest)

hockey <- html("http://www.hockey-reference.com/boxscores/2015/3/6/")

hockey %>%
    html_nodes("#stats .tooltip , #stats td , #stats a") %>%
    html_table()
Run Code Online (Sandbox Code Playgroud)

但我得到了一个html_tag(x) == "table" is not TRUE.它显然是一张桌子.

我怎样才能强迫rvest将节点识别为一个表?

r rvest

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

强制as.Date的季度结束日期(as.yearqtr())

zoo包中的as.yearqtr()似乎使用了季度的开头:

library(zoo)
x <- "2015-05-17"
x <- as.Date(x)
x <- as.Date(as.yearqtr(x))
x

# [1] "2015-04-01"
Run Code Online (Sandbox Code Playgroud)

我怎么可能抢到季度结束?

x

# [1] "2015-06-30"
Run Code Online (Sandbox Code Playgroud)

谢谢!

r zoo

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

将日期转换为该周的星期一

我发现这个公式可以将日期转换为该周的星期一:

x <- as.Date("2015-07-17")
y <- (x-c(6:0))[format((x-c(6:0)),"%w")=="1"]
Run Code Online (Sandbox Code Playgroud)

我如何在一列日期中调整使用公式?


df <- data.frame(date = c("2014-08-09", "2014-08-10", "2014-08-11", "2014-11-04"))
df$date <- as.Date(df$date)
df$week <- (df$date-c(6:0))[format((df$date-c(6:0)),"%w")=="1"]
Run Code Online (Sandbox Code Playgroud)

将投掷:

Error in prettyNum(.Internal(format(x, trim, digits, nsmall, width, 3L,  : 
  invalid 'trim' argument
Run Code Online (Sandbox Code Playgroud)

datetime r

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

为ggplot2图添加图层的过程设置动画

我开始熟悉了gganimate,但我希望进一步扩展我的GIF.

例如,我可以抛出frame一个变量,gganimate但如果我想动画添加全新图层/ geoms /变量的过程怎么办?

这是一个标准的gganimate例子:

library(tidyverse)
library(gganimate)

p <- ggplot(mtcars, aes(x = hp, y = mpg, frame = cyl)) +
    geom_point()

gg_animate(p)
Run Code Online (Sandbox Code Playgroud)

但是如果我想要gif动画怎么办:

# frame 1
ggplot(mtcars, aes(x = hp, y = mpg)) +
    geom_point()

# frame 2
ggplot(mtcars, aes(x = hp, y = mpg)) +
    geom_point(aes(color = factor(cyl)))

# frame 3
ggplot(mtcars, aes(x = hp, y = mpg)) +
    geom_point(aes(color = factor(cyl), size = wt))

# frame 4
ggplot(mtcars, aes(x = …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 gganimate

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

使用 stringr 删除最后一个空格后的所有内容

我有看起来像这样的数据:

df <- tribble(
    ~name, ~value,
    "Jake Lake MLP", 10, 
    "Bay May CE", 5,
    "Drake Cake Jr. DSF", 9.1,
    "Sam Ram IR QQQZ", 1
)
Run Code Online (Sandbox Code Playgroud)

我想修剪所有的名字,使它们是:

"Jake Lake",
"Bay May", 
"Drake Cake Jr.",
"Sam Ram IR"
Run Code Online (Sandbox Code Playgroud)

基本上删除最后一个空格之后的所有内容。

我试过:

df %>% mutate(name = str_replace(name, "\\s.*$", ""))
Run Code Online (Sandbox Code Playgroud)

但这不是我想要的!

regex r stringr tidyverse

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

根据另一个输入约束一个闪亮的应用程序输入

我有一个基本的闪亮应用程序来评估A + B:

library(shiny)

ui <- fluidPage(
    numericInput(inputId = "A", label = "A", value = 5, step = 1),
    sliderInput(inputId = "B", label = "B", min = 0, max = 10, value = 5),
    textOutput(outputId = "value")
)

server <- function(input, output) {
    output$value <- renderText(paste0("A + B = ", input$A + input$B))
}

shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

AnumericInput值,BsliderInput值.

我想我的限制应用程序,以便为最大输入值始终是2*一个.因此,我必须硬编码的改变max =sliderInput的东西,可以是动态的.我怎么能做到这一点? …

r shiny

3
推荐指数
2
解决办法
1406
查看次数

标签 统计

r ×10

rvest ×2

tidyverse ×2

datetime ×1

dplyr ×1

gganimate ×1

ggplot2 ×1

regex ×1

shiny ×1

stringr ×1

zoo ×1