小编hfi*_*sch的帖子

将geom_line添加到R中facet_wrap图中的所有构面

我正在尝试创建一个facet_wrap将四条独立线与一条共同五条线进行比较的图; 目标是让这第五条线出现在其他所有四个facet_wrap地块上.

这是我的最小代码:

library(ggplot2)

x    = c( 1,  3,  1,  3,  2,  4,  2,  4)
y    = c( 1,  3,  2,  4,  1,  3,  2,  4)
type = c("A","A","B","B","C","C","D","D")
data = data.frame(x,y,type)

x    = c( 4,  1)
y    = c( 1,  4)
type = c("E","E")
line = data.frame(x,y,type)

ggplot(data, aes(x,y)) + geom_line() + facet_wrap(~type) +
geom_line(data = line, aes(x,y))
Run Code Online (Sandbox Code Playgroud)

我希望将第五行添加为独立data.frame允许我这样做,但它只是将其添加为第五个方面,如下图所示:

糟糕的情节

我想要"E"方面出现在所有其他情节上.有什么想法吗?我知道geom_vline,geom_hlinegeom_abline都将出现在所有的方面,但我不知道是什么让他们独特.

r ggplot2 facet-wrap

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

在RSelenium中滚动页面

如何使用RSeleniumWebDriver 手动滚动到页面的底部(或顶部)?我有一个元素只有在页面上可见时才可用.

r selenium-webdriver rselenium

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

在rvest中提交没有提交按钮的表单

我正在尝试编写一个爬虫来下载一些信息,类似于这个Stack Overflow帖子. 答案对于创建填充表单非常有用,但是当提交按钮不是表单的一部分时,我很难找到提交表单的方法.这是一个例子:

session <- html_session("www.chase.com")
form <- html_form(session)[[3]]

filledform <- set_values(form, `user_name` = user_name, `usr_password` = usr_password)
session <- submit_form(session, filledform)
Run Code Online (Sandbox Code Playgroud)

此时,我收到此错误:

Error in names(submits)[[1]] : subscript out of bounds
Run Code Online (Sandbox Code Playgroud)

如何提交此表单?

r web-crawler rvest

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

为R中具有相同符号的每个连续数字范围分配值

我正在尝试创建一个数据框,其中存在一个列,其中包含表示正数和负数运行长度的值,如下所示:

Time  V  Length
0.5  -2  1.5
1.0  -1  1.5
1.5   0  0.0
2.0   2  1.0
2.5   0  0.0
3.0   1  1.75
3.5   2  1.75
4.0   1  1.75
4.5  -1  0.75
5.0  -3  0.75
Run Code Online (Sandbox Code Playgroud)

Length列汇总了值为正或负的时间长度.0因为它们是拐点,所以给出零.如果符号变化没有零分离,则在拐点的任一侧平均值.

我试图估计这些价值观积极或消极的时间.我试过这个for循环有不同程度的成功,但我想避免循环,因为我正在处理非常大的数据集.

我花了一些时间看signdiff,因为他们在使用约符号改变这个问题.我也看过这个使用transformaggregate连续重复值的问题.我觉得我可以结合使用sign和/或diff,但我不确定如何追溯性地将这些总和分配到创建它们的范围或如何处理我在整个变形中取平均值的点.

任何建议,将不胜感激.以下是示例数据集:

dat <- data.frame(Time = seq(0.5, 5, 0.5), V = c(-2, -1, 0, 2, 0, 1, 2, 1, -1, -3))
Run Code Online (Sandbox Code Playgroud)

diff aggregate r transform sign

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

如何在Excel工作表中格式化列到数字格式?

以下是VBA代码.Sheet2包含一般格式的所有值.运行代码后,Sheet3列'C'中的值包含13位或更多位数字的指数值.

应该怎么做才能使Sheet3的列'C'不包含指数值?

private Sub CommandButton1_Click()
Dim i, j, k As Variant

 k = 1
For i = 1 To 30000
If Sheet2.Range("c" & i).Value >= 100 And Sheet2.Range("c" & i).Value < 1000 Then
Sheet3.Range("a" & k).Value = Sheet2.Range("a" & i).Value
Sheet3.Range("b" & k).Value = Sheet2.Range("b" & i).Value

Sheet3.Range("c" & k).Value = Sheet2.Range("c" & i).Value

k = k + 1
End If
Next

End Sub
Run Code Online (Sandbox Code Playgroud)

excel vba

6
推荐指数
1
解决办法
11万
查看次数

ggplot2中facet_grid的图层无效

我一直在使用此代码的变体:

library(ggplot2)

Compare = matrix(c(
0,           0,           "Soil 1", "tF",
0.379268025, 5.555806214, "Soil 1", "tF",
0.961561989, 13.05580621, "Soil 1", "tF",
1.55418685,  20.55580621, "Soil 1", "tF",
0,           0,           "Soil 2", "tF",
0.104297312, 1.581249799, "Soil 2", "tF",
0.705818262, 6.081249799, "Soil 2", "tF",
1.447379092, 10.5812498,  "Soil 2", "tF",
0,           20,          "Soil 1", "tf",
0.379268025, 13.1603086,  "Soil 1", "tf",
0.961561989, 12.72354396, "Soil 1", "tf",
1.55418685,  12.60549558, "Soil 1", "tf",
0,           20,          "Soil 2", "tf",
0.104297312, 10.51383279, "Soil 2", "tf",
0.705818262, 6.433709727, "Soil 2", "tf", …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

RSelenium UnknownError - 使用谷歌浏览器的java.lang.IllegalStateException

我正在运行基于RSelenium Basics CRAN页面的以下脚本:

library(RSelenium)
startServer(args = c("-port 4455"), log = FALSE, invisible = FALSE)
remDr <- remoteDriver(browserName = "chrome")
remDr$open()
Run Code Online (Sandbox Code Playgroud)

这会产生以下错误:

Exception in thread "main" java.net.BindException: Selenium is already running on port 4444. Or some other service is.
 at org.openqa.selenium.server.SeleniumServer.start(SeleniumServer.java:492)
 at org.openqa.selenium.server.SeleniumServer.boot(SeleniumServer.java:305)
 at org.openqa.selenium.server.SeleniumServer.main(SeleniumServer.java:245)
 at org.openqa.grid.selenium.GridLauncher.main(GridLauncher.java:64)
Run Code Online (Sandbox Code Playgroud)

根据GitHub上这个对话的评论,我修改了我的startServer()命令:

startServer(args = c("-port 4455"), log = FALSE, invisible = FALSE)
Run Code Online (Sandbox Code Playgroud)

然后我在控制台中收到以下错误:

Error:   Summary: UnknownError
 Detail: An unknown server-side error occurred while processing the command.
 class: java.lang.IllegalStateException
Run Code Online (Sandbox Code Playgroud)

弹出的Java提示中出现此错误: …

java selenium r rselenium

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

从 ggplot2 图中生成栅格

我正在处理一个图,我需要以某种方式对其应用独特的回归。该图是放置在双对数轴上的一系列点。对于任何熟悉水文学的人来说,我正在尝试以图形方式生成瞬态 Theis 解,因此我的回归需要采用指数积分的形式(请参阅此维基百科页面)。

这里需要注意的是,指数积分有自己的一组独立于初始图的轴值。这就是从数据中提取解决方案的方式,但在尝试在 R 中重现它时会引入许多问题。

我想出了一些解决这个问题的想法(除了使用铅笔和纸之外),但每种方法都遇到了一些小障碍。如果您能深入了解这些解决方案的解决方法,我将不胜感激:

  1. 使用 向图中添加回归stat_smooth,根据其斜率任意选择回归上的一个点,然后将其与具有适当指数积分轴的新图的相同斜率相关联。这里的问题是我不知道如何使用stat_smooth除了y ~ xy ~ poly(x, 2)和 的变体以外的公式y ~ log(x)。回归需要结合使用 Poly 和 Log 函数,但当我尝试这样做时,R 会出现问题。例如:

    stat_smooth(data = example, method = "lm",
        formula = y ~ log(x) + x - poly(x, 2)/4 + poly(x, 3)/18 - ...
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我还尝试将数据和指数积分绘制为两个单独的图,然后根据我武断地认为最适合的位置重叠这两个图(这可能是更简单的方法,并且对于我来说足够准确)目的)。为了便于叠加,我剥离了指数积分图的背景、轴、网格线等,只留下带有标签的水平和垂直线,以指示曲线上具有某些值的点。如果我可以将其放在另一个图的顶部(当然,假设两个图保持相同的大小比例),我想我可以推动回归,直到它排列在我认为应该的位置,然后读出其相应的位置基于水平和垂直标记线的存在的值。

    我读过一些关于 的内容annotation_raster,并认为这可能是我将回归视为叠加图像的合适方法。不过,我的问题是ggplot首先将绘图转换为栅格。 as.raster()产生以下错误:

    Error in as.raster(raster) : 
      error in evaluating the argument 'x' in selecting a method for function …
    Run Code Online (Sandbox Code Playgroud)

r ggplot2

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