显然,John Chambers 在版本2.12中将R的Reference Classes添加到了R中.网上似乎没有太多的信息,但他们称之为R5课程,这意味着他们与S3和S4课程处于同一水平.
问题:什么是引用类,它如何适应现有的类类型?
在构建包时,我收到以下警告:
* checking PDF version of manual ... WARNING
LaTeX errors when creating PDF version.
This typically indicates Rd problems.
Run Code Online (Sandbox Code Playgroud)
我不知道怎么开始诊断这个.有没有一个工具告诉我问题所在的.Rd文件是什么?
在检查文档步骤中,我没有收到有关任何Rd文件的警告....
在最近与同学的对话中,我一直主张避免全局,除了存储常量.这是一种典型的应用统计类型程序,每个人编写自己的代码和项目大小都很小,所以人们很难看到由于草率的习惯造成的麻烦.
在谈论避免使用全局变量时,我主要关注全局变量可能导致问题的以下原因,但我想在R和/或Stata中使用一些示例来遵循原则(以及您可能认为重要的任何其他原则) ),我很难想出可信的人.
对这个问题的一个有用的答案是一个可重现的,自包含的代码片段,其中全局变量会导致特定类型的麻烦,理想情况下是另一个代码片段,其中问题得到纠正.如有必要,我可以生成更正的解决方案,因此问题的示例更为重要.
相关链接:
在另一个问题中,sapply(substitute(...()), as.character)在函数内部使用获取传递给函数的名称.这as.character部分听起来不错,但究竟是...()做什么的呢?
它不是有效的代码substitute:
> test <- function(...) ...()
> test(T,F)
Error in test(T, F) : could not find function "..."
Run Code Online (Sandbox Code Playgroud)
一些测试用例:
> test <- function(...) substitute(...())
> test(T,F)
[[1]]
T
[[2]]
F
> test <- function(...) substitute(...)
> test(T,F)
T
Run Code Online (Sandbox Code Playgroud) 我正试图处理无处不在的which功能.在我开始阅读问题/答案之前,我从未发现它的必要性.而我仍然没有.
据我了解,which采用布尔向量并返回一个弱的较短向量,其中包含元素的索引,这些索引为true:
> seq(10)
[1] 1 2 3 4 5 6 7 8 9 10
> x <- seq(10)
> tf <- (x == 6 | x == 8)
> tf
[1] FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE
> w <- which(tf)
> w
[1] 6 8
Run Code Online (Sandbox Code Playgroud)
那么我为什么要使用which而不是直接使用布尔向量?我可能会看到一些带有巨大载体的记忆问题,因为length(w)<< length(tf),但这并不令人信服.并且帮助文件中有一些选项不会增加我对此功能的可能用途的理解.帮助文件中的示例也没有太大帮助.
为清晰起见编辑 - 我理解which返回索引.我的问题是关于两件事:1)为什么你需要使用索引而不是仅使用布尔选择器向量?和2)什么有趣的行为which可能会使它最好只是用一个量化的布尔比较?
我有一个股票价格数据集已经四舍五入到小数点后两位(1234.56).我现在正试图舍入到每个股票不同的特定值.这里有些例子:
Current Stock Price Minimum Tick Increment Desired Output
123.45 .50 123.50
155.03 .10 155.00
138.24 .50 138.00
129.94 .10 129.90
... ... ...
Run Code Online (Sandbox Code Playgroud)
我不是很确定如何做到这一点,但我愿意接受建议.
最近出现了ggplot2的一些巧妙用途,并且已发布部分或完整解决方案:
ggheat是值得注意的,因为它只是通过绘制而不是返回一个对象来打破ggplot隐喻.
大括号解决方案值得注意,因为没有一个真正符合ggplot2高级概念(例如,您应该指定一系列您想要打破的点,然后在其他地方能够指定您希望该范围显示的方式 - - 支架,盒子,紫牛等).
该GGPLOT2书(我很快就会订购并已阅读2个网络章节)似乎是有关使用语法和功能,而不是写新的或广泛延伸现有的.
我想学习添加一个特定的功能或开发一个新的geom,并正确地做到这一点. ggplot2可能不会像基本图形一样用作通用图形包grid,但是有很多图表只是现有ggplot2 geom的一步或两步扩展.当这些情况出现时,我通常可以将足够的物体放在一起做一次,但如果我需要几十次相同的情节呢?如果其他人喜欢它并且想要使用它会怎么样 - 现在他们每次想要那个图表时都必须通过相同的过程进行处理.这在我看来,正确的解决办法是在加stat_heatplot和geom_heatplot,或者添加geom_Tuftebox为塔夫特箱线图,等等.但是我从来没有见过的真正延伸GGPLOT2的例子.只是如何使用它的例子.
有哪些资源可以深入挖掘ggplot2并开始扩展它?我特别感兴趣的是如上所述在轴上指定范围的高级方法,但是关于ggplot2 tick的内容的一般知识也是受欢迎的.
没有一个连贯的指南(很少有足够先进的修补,因此可能不存在),如何去学习内部?检查源显然是一种方式,但开始的功能,等等.
我想使用ggplot图形从R中的函数中生成几个图形窗口...
testf <- function(a, b) {
devAskNewPage(TRUE)
qplot(a, b);
# grid.newpage(recording = TRUE)
dev.new()
qplot(a, a+a);
# grid.newpage(recording = TRUE)
dev.new()
qplot(b, b+b);
}
library(ggplot2)
x <- rnorm(50)
y <- rnorm(50)
testf(x, y)
Run Code Online (Sandbox Code Playgroud)
但是,dev.new()和grid.newpage()似乎都没有刷新前面的情节.
我知道,在R中,函数通常只生成他们评估的最后一件事,但我想更好地理解这个过程并了解任何可能的解决方法.
思考?