小编Dav*_*uer的帖子

如何评估R中样条函数的导数?

R可以使用样条线库中的splinefun()生成样条函数.但是,我需要在其一阶和二阶导数上评估此函数.有没有办法做到这一点?

例如

library(splines)
x <- 1:10
y <- sin(pi/x) #just an example
f_of_x <- splinefun(x,y)
Run Code Online (Sandbox Code Playgroud)

如何评估f'(x)为x的向量?

r spline numerical-methods

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

如何更改ggplot2中的默认主题?

背景

我想改变ggplot使用的主题,但我很难理解theme_update()文档和示例.

align_plots()用来在密度图上放置一个箱线图,但我发现没有任何代码导致错误,并留下了最小的例子.我怀疑错误是由使用引起的theme_blank(),但我不确定它为什么会发生或我如何解决它.

所以,在这里,我提供了一个最小的可重现的错误示例:

library(ggExtra)
align.plots(qplot(1))
Run Code Online (Sandbox Code Playgroud)

但是在我更新主题后它会中断:

newtheme <- theme_update(axis.text.y = theme_blank(),
                         axis.line = theme_blank(),
                         axis.title.x = theme_blank(), 
                         axis.title.y = theme_blank(),
                         axis.ticks.x = theme_blank(),
                         panel.grid.major = theme_blank(),
                         panel.grid.minor = theme_blank(),
                         panel.border = theme_blank(),
                         axis.color.y = 'white')
align.plots(qplot(1))
Run Code Online (Sandbox Code Playgroud)

这给出了错误:

Error in UseMethod("validGrob") : 
  no applicable method for 'validGrob' applied to an object of class "NULL"
In addition: Warning message:
In editThisGrob(grob, specs) : Slot 'vp' not found
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 是什么导致这个错误?

  2. 我在哪里可以获得有关使用的更多信息?theme_update()?我得到这个远在ggplot文件,并不能找到的答案ggplot网站,但我得到的最接近是polishing.r …

r ggplot2

8
推荐指数
2
解决办法
8620
查看次数

如何让emacs sql-mode使用mysql配置文件(.my.cnf)?

当我输入mysql dbname在bash提示符下,我会自动连接到数据库dbnameusername,password以及host包含在我的资料.my.cnf文件.

当我M-x sql-mysql在emacs中使用时,我再次被要求提供所有这些信息.

有没有办法让emacs sql模式使用我.my.cnf文件中的信息?

mysql emacs sql-mode

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

连接data.frame或data.table中的匹配列

我有以下data.frames:

a <- data.frame(id = 1:3, v1 = c('a', NA, NA), v2 = c(NA, 'b', 'c'))
b <- data.frame(id = 1:3, v1 = c(NA, 'B', 'C'), v2 = c("A", NA, NA))
> a
  id   v1   v2
1  1    a <NA>
2  2 <NA>    b
3  3 <NA>    c
> b
  id   v1   v2
1  1 <NA>    A
2  2    B <NA>
3  3    C <NA>
Run Code Online (Sandbox Code Playgroud)

注意:两个表中都没有定义v1或v2的id; 每个id值在每列中只有一个唯一的非NA值

我想在"id"的匹配值上合并这些数据框:

ab <- merge(a, b, by = "id")
Run Code Online (Sandbox Code Playgroud)

但我也想在两列合并v1v2 …

merge r plyr dataframe data.table

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

我可以在org-mode的SQL块中以交互方式使用MySQL吗?

我从Org-mode交互使用R - C-x '来自R代码块的键绑定使用ESS启动交互式R会话.

当我C-x '从SQL代码块内部按下时,它将代码块发送到SQL模式缓冲区,但我不清楚如何向MySQL发送查询.

我可以用MySQL做到这一点吗?

mysql sql emacs org-mode

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

应该何时将数据输入/ data,何时应该进入/ inst/extdata?

写作R附加手册指出:

data子目录用于数据文件,要么通过延迟加载提供,要么使用data()加载.(选择是由DESCRIPTION文件中的'LazyData'字段进行的:默认情况下不会这样做.)它不应该用于包所需的其他数据文件,并且约定已经成长为使用目录inst /这些文件的extdata.)

但目前尚不清楚包裹"需要"哪些数据.我想将数据用于以下(并非总是相互排斥)的原因:

  • 文件
    • 功能实例
    • 功能测试
    • 护身符
  • 提供对原始数据集的访问
  • 使数据可用于包中的函数(例如查找表/字典)

但目前尚不清楚哪些应该放在data文件夹中,哪些应该进入inst/extdata.是否存在"数据"应该转移到其他地方的条件?

相关问题:以前的问题(例如R Packaging中的inst和extdata文件夹以及在包检查R 2.14.0期间使用带插板的inst/extdata)给出了一些使用说明,但是没有告诉我如何确定使用哪个目录.另一个问题,R - 我应该在哪里放置RDA文件 - /R,/ data,/ inst/extdata?,获得最接近,但似乎专注于RDA和RData文件.

r package

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

对R包的/ src文件夹中的代码进行单元测试?

我正在贡献一个R包,它广泛使用C代码进行计算.

我们已经开始使用testthat包编写R函数的测试,将测试放在inst/tests以下说明中.

testthat包是否适合直接测试C函数(例如没有R接口的那些)?或者我们找到一个单独的C测试包?如果是这样,1)这些测试应该去哪里,2)我如何让它们在运行期间运行R CMD check,3)是否在这种情况下特别适合的任何C测试包?

c unit-testing r testthat

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

有没有办法自动更新R包中的文档?

几个月前我使用'package.skeleton()'生成.Rd帮助文件.我已经编辑了这些文件,我也更改了功能,删除了一些功能,添加了其他功能.是否有自动更新Rd文件的功能?

更新

一个很好的软件包刚刚发布,名为Rd2roxygen,由作者Yihui Xie在他的博客上描述.

顾名思义,这个包允许用户追溯地将当前包含在.Rd中的文档插入到.R文件中.对于学习roxygen和将目前正在开发的软件包转换为R软件包而言,这听起来很有前景.呜呜.谢谢一惠!

根据Joshua和Yihui的答案,答案似乎是: roxygen允许根据源.R代码的变化自动更新Rd文件等,如果我目前不使用roxygen,Rd2roxygen可以帮助我迁移.

r manual package roxygen

7
推荐指数
2
解决办法
426
查看次数

将摘要信息添加到使用ggplot创建的密度图中

我有一个密度图,我想添加一些摘要信息,例如在中位数放置一条线并遮蔽90%可信区间(第5和第95分位数).有没有办法在ggplot中这样做?

这是我想总结的情节类型:

我可以弄清楚如何从y = 0到y =密度(中位数(x))绘制一条线,但是我不清楚我是否可以使用90%CI对阴影进行着色.或者,我可以在密度图上方添加一个水平箱图,但不清楚如何自动旋转箱图,而不用随之旋转密度图.

x <- as.vector(rnorm(10000))
d <- as.data.frame(x=x)
library(ggplot2)
ggplot(data = d) + theme_bw() + 
  geom_density(aes(x=x, y = ..density..), color = 'black')
Run Code Online (Sandbox Code Playgroud)

替代文字

statistics visualization r ggplot2

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

反向查找数字对象标识符给出引用表?

我有一个引用表,其中包括第一作者的姓氏,每个引文的标题,期刊,年份和页码.

我在谷歌文档csv版本上发布了表格的前几行(并非所有记录都有doi)

我希望能够查询每个引用的数字对象标识符.对于标题,最好是查询可以处理"模糊匹配".

我怎样才能做到这一点?

该表目前在MySQL中,但以.csv文件开始和结束就足够了(我希望从开始到结束都能得到答案)(或者,因为我主要使用R,一个R数据帧).

xml doi r mechanize web-scraping

7
推荐指数
3
解决办法
1522
查看次数