我有一个如下所示的数据框:
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) 我将一堆变量粘贴到一个确定的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) 我的数据如下:
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) 我有一个数据帧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是值.
我怎样才能做到这一点?
我似乎无法开始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将节点识别为一个表?
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)
谢谢!
我发现这个公式可以将日期转换为该周的星期一:
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) 我开始熟悉了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) 我有看起来像这样的数据:
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)
但这不是我想要的!
我有一个基本的闪亮应用程序来评估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)
A是numericInput值,B是sliderInput值.
我想我的限制应用程序,以便为最大输入值乙始终是2*一个.因此,我必须硬编码的改变max =中sliderInput的东西,可以是动态的.我怎么能做到这一点? …