小编Dat*_*kie的帖子

在R中"围绕"数据点拟合曲线

我有一个由一组点组成的数据集.这些点以这样一种方式分布在飞机上,即它们可以用抛物线大致界定.我试图找到一种方法将抛物线拟合到点的边界.

这就是我目前所拥有的:

a = 1
b = 2
c = 3

parabola <- function(x) {
    a * x^2 + b * x + c
}

N = 10000

x <- runif(N, -4, 3)
y <- runif(N, 0, 10)

data <- data.frame(x, y)

data <- subset(data, y >= parabola(x))

plot(data, xlim = c(-5, 5), ylim = c(0, 10), col = "grey")

fr <- function(x) {
    PAR = x[1] * data$x^2 + x[2] * data$x + x[3]
    #
    sum((PAR - data$y)^2 + …
Run Code Online (Sandbox Code Playgroud)

optimization r

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

在网络驱动器上查找文件的绝对路径

我在编织位于网络驱动器上的降价文件时遇到了一些麻烦。我正在使用 rmarkdown::render() 来编织文件。我已经将问题追溯到 file_path_as_absolute() 函数。

我的工作目录中有一个 Markdown 文件 foo.Rmd。

> list.files()
 [1] "$RECYCLE.BIN"                               "2014-11-04-popular-wagers-distribution.pdf"
 [3] "db-connection.R"                            "desktop.ini"                               
 [5] "figure"                                     "foo.md"                                    
 [7] "foo.Rmd"                                    "game-popularity.R"                         
 [9] "My Data Sources"                            "player-data-game-monitoring.tsv"           
[11] "player-linking.R"                           "player-pca.R"                              
[13] "query-1.sql"                                "query-2.sql"                               
[15] "R"                                          "report-test-2.Rmd"                         
[17] "report-test.md"                             "report-test.Rmd"                           
[19] "report-test.xxx"                            "SQL Server Management Studio"              
[21] "test.md"                                    "test.R"                                    
[23] "test.Rmd"                                   "Thumbs.db" 
Run Code Online (Sandbox Code Playgroud)

我可以找到绝对路径:

> normalizePath("foo.Rmd")
[1] "\\\\dernetapp02\\h$\\users\\AndrewCo\\myCitrixFiles\\Documents\\foo.Rmd"
Warning message:
In normalizePath(path.expand(path), winslash, mustWork) :
  path[1]="foo.Rmd": Access is denied
Run Code Online (Sandbox Code Playgroud)

尽管它会产生警告,但它仍然有效。我不确定为什么会收到此警告,因为我确实拥有对该文件的读写访问权限。

但是调用 file_path_as_absolute(),它只是 normalizePath() 的一个包装器,会将这个警告变成一个错误。

> tools::file_path_as_absolute(input)
Error in normalizePath(path.expand(path), winslash, mustWork) …
Run Code Online (Sandbox Code Playgroud)

r path knitr

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

从封闭环境访问数据的功能

我正在使用分段包,并davies.test()在函数内调用时遇到问题.

考虑以下情况:

library(segmented)

data = data.frame(x = 1:21, y = c(10:1, 0:10))
fit = lm(y ~ x, data = data)
fit.seg = segmented(fit, seg.Z = ~ x)
davies.test(fit.seg, seg.Z = ~ x, alternative = "greater")
Run Code Online (Sandbox Code Playgroud)

这完美地起作用并且表明分段回归具有两个统计上不同的斜率.

现在,如果我把所有这些打包成这样的函数:

testit <- function() {
  data = data.frame(x = 1:21, y = c(10:1, 0:10))
  fit = lm(y ~ x, data)
  fit.seg = segmented(fit, seg.Z = ~ x)
  davies.test(fit.seg, seg.Z = ~ x, alternative = "greater")$p.value
}
testit()
Run Code Online (Sandbox Code Playgroud)

然后它工作正常......

但是如果我fit从全球环境中删除它就会失败.

> …
Run Code Online (Sandbox Code Playgroud)

r

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

如何将 here() 用于 css、before_body 和 after_body 的路径?

我有一组分布在文件夹层次结构中的 RMarkdown 文档。所有文档都引用相同的 CSS 和页眉/页脚文件。我目前有这些文件的硬编码路径,但这很难维护。我更喜欢动态生成路径。

这是有效的(日期是在代码中动态生成的):

---
title: "Untitled"
date: "`r Sys.Date()`"
output: html_document
---
Run Code Online (Sandbox Code Playgroud)

但这不起作用:

---
title: "Untitled"
date: "`r Sys.Date()`"
output: 
  html_document:
    css: '`r here::here("styles/styles.css")`'
    includes:
      before_body: '`r here::here("styles/header.html")`'
      after_body: '`r here::here("styles/footer.html")`'
---
Run Code Online (Sandbox Code Playgroud)

文件styles.css,header.htmlfooter.html都位于styles/项目根目录下的文件夹中。当我here::here()从控制台使用这些文件时,它运行良好。

但是,当我编译 RMarkdown 时,出现如下错误:

File `r here::here( not found in resource path
Error: pandoc document conversion failed with error 99
Run Code Online (Sandbox Code Playgroud)

上述错误与 CSS 文件有关。然后对于页眉和页脚:

pandoc: `r here::here("styles/header.html")`: openBinaryFile: does not exist
(No such file or directory) …
Run Code Online (Sandbox Code Playgroud)

r knitr r-markdown

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

裁剪蜂巢图

我一直在试验HiveR并成功创建了一个蜂巢图,它代表了我正在使用的数据集之一.数据的原始图表是一个经典的毛球:

在此输入图像描述

但是,蜂巢图可以更简单,更直观地显示数据:

在此输入图像描述

然而,问题在于绘图仅占据画布的相对较小的部分.我已经尝试了各种技巧来裁剪它,以便情节占据了大部分框架,但它们都没有成功.最有希望的选择是将绘图写入pdf或eps文件,然后使用pdfcrop或epstool来修剪空白区域,但它们都没有在实践中工作.我怀疑该情节有一些看不见的元素,这些元素会使边界框膨胀.

有没有人对如何有效地减少这个阴谋有任何想法?[我知道我可以手动完成,但我必须制作一些这样的图,我正在寻找一种系统/程序化的方法来实现它.]

可以在此处找到蜂巢图的数据结构.

非常感谢,安德鲁.

以下是创建绘图的代码:

set.seed(3)

VERTICES <- 512

library(igraph)

big.graph <- barabasi.game(VERTICES, power = 1,
                           out.seq = sort(sample(c(1, 2, 3, 4), VERTICES, replace = TRUE,
                                                 prob = c(0.1, 0.7, 0.1, 0.1))),
                           directed = FALSE, out.pref = TRUE)
library(HiveR)
library(digest)

V(big.graph)$name <- sapply(1:VERTICES, function(n) {digest(n, algo = "crc32", serialize = TRUE)})

big.matrix <- get.adjacency(big.graph, type= "lower", attr=NULL, names=TRUE, sparse=FALSE)

colnames(big.matrix) <- V(big.graph)$name
rownames(big.matrix) <- colnames(big.matrix)

hive <- adj2HPD(big.matrix, axis.cols = "black")
hive <- mineHPD(hive, option = …
Run Code Online (Sandbox Code Playgroud)

r

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

标签 统计

r ×5

knitr ×2

optimization ×1

path ×1

r-markdown ×1