显然,John Chambers 在版本2.12中将R的Reference Classes添加到了R中.网上似乎没有太多的信息,但他们称之为R5课程,这意味着他们与S3和S4课程处于同一水平.
问题:什么是引用类,它如何适应现有的类类型?
我试图使用随机森林包在R中进行分类.
列出的可变重要性措施是:
MeanDecreaseAccuracyMeanDecreaseGini现在我知道这些"意思"是什么,因为我知道他们的定义.我想知道的是如何使用它们.
我真正想知道的是,这些价值仅仅意味着它们是多么准确,什么是好价值,什么是坏价值,什么是最大值和最小值等等.
如果变量有高MeanDecreaseAccuracy或者MeanDecreaseGini这意味着它是重要的还是不重要的?此外,有关原始分数的任何信息也可能有用.我想知道有关这些数字的所有信息,这些数字与它们的应用相关.
使用"错误","求和"或"置换"等词语的解释将不那么有用,因为更简单的解释不涉及任何关于随机森林如何运作的讨论.
就像我希望有人向我解释如何使用收音机一样,我不希望这个解释涉及无线电如何将无线电波转换成声音.
使用具有相同名称的基本R中的函数的变量名称似乎通常被认为是不良的编程习惯.
例如,写作很有诱惑力:
data <- data.frame(...)
df <- data.frame(...)
Run Code Online (Sandbox Code Playgroud)
现在,该函数data在函数df计算f密度函数时加载数据集.
同样,写作很有诱惑力:
a <- 1
b <- 2
c <- 3
Run Code Online (Sandbox Code Playgroud)
这被认为是不好的形式,因为该函数c将组合其参数.
但是:在R函数的主力中lm,计算线性模型data用作参数.换句话说,data成为lm函数内部的显式变量.
那么:如果R核心团队可以对变量和函数使用相同的名称,那么什么阻止了我们凡人呢?
答案不是R会混淆.请尝试以下示例,其中我明确指定了具有名称的变量c.R根本不会对变量和函数之间的区别感到困惑:
c("A", "B")
[1] "A" "B"
c <- c("Some text", "Second", "Third")
c(1, 3, 5)
[1] 1 3 5
c[3]
[1] "Third"
Run Code Online (Sandbox Code Playgroud)
问题:具有与基本R函数同名的变量究竟是什么问题?
我正在尝试为一系列生成ggplot图形的函数编写一些自动单元测试.
例如,我想为绘图设置特定的色阶.现在我需要一种方法来确定是否实际应用了正确的色标.
下面是一些示例代码,用于设置fill颜色以使用ColourBrewer调色板Dark2:
p <- ggplot(mtcars, aes(x=factor(cyl), y=mpg, fill=factor(gear))) +
geom_bar(stat="identity") +
facet_grid(~gear) +
scale_fill_brewer(palette="Dark2")
print(p)
Run Code Online (Sandbox Code Playgroud)

好的,所以视觉检查告诉我代码有效.
现在我想通过检查对象来确认这一点:
str(p, max.level=1)
List of 8
$ data :'data.frame': 32 obs. of 11 variables:
$ layers :List of 1
$ scales :Reference class 'Scales' [package "ggplot2"] with 1 fields
..and 20 methods, of which 9 are possibly relevant
$ mapping :List of 3
$ options :List of 1
$ coordinates:List of 1
..- attr(*, "class")= …Run Code Online (Sandbox Code Playgroud) 我正在编写一个包,它定义了一个新类,测量器和一个print方法,即print.surveyor.我的代码工作正常,我使用roxygen进行内联文档.但R CMD check发出警告:
在文档对象'print.surveyor'中使用但不在代码中使用的函数/方法:print
我使用了Hadley编写的以下两页作为灵感:
命名空间和文档功能,两者都说正确的语法是@method function-name class
所以我的问题是:print使用Roxygen 记录我的新类的方法的正确方法是什么?更具体地说,我如何摆脱警告?
这是我的代码:(评论的文档表明试图解决这个问题,但没有一个工作.)
#' Prints surveyor object.
#'
#' Prints surveyor object
#'
## #' @usage print(x, ...)
## #' @aliases print print.surveyor
#' @param x surveyor object
#' @param ... ignored
#' @S3method print surveyor
print.surveyor <- function(x, ...){
cat("Surveyor\n\n")
print.listof(x)
}
Run Code Online (Sandbox Code Playgroud)
和氧化输出,即print.surveyor.Rd:
\name{print.surveyor}
\title{Prints surveyor object.}
\usage{print(x, ...)
#'}
\description{Prints surveyor object.}
\details{Prints surveyor object
#'} …Run Code Online (Sandbox Code Playgroud) 在数据集中,我想采用两个属性并创建有监督的散点图.有谁知道如何为每个班级提供不同的颜色?
我试图col == c("red","blue","yellow")在plot命令中使用,但不确定它是否正确,好像我再包含一种颜色,即使我只有3个类,该颜色也会出现在散点图中.
谢谢
NULL和字符(0)|之间有什么区别 整数(0)等?
> identical(NULL, character(0))
[1] FALSE
> is.null(integer(0))
[1] FALSE
> str(character(0))
chr(0)
> str(NULL)
NULL
Run Code Online (Sandbox Code Playgroud)
一般来说,似乎你可以通过NULL为参数输入功能,以及一个空的载体通常是返回character(0),integer(0)等等.
为什么会这样?想想看,有没有测试过零,一个la is.integer0?
有关如何在R程序中创建循环计数器的一些信息性帖子.但是,在使用带有"foreach()"的并行化版本时,如何创建类似的功能?
我被要求在下面的情节周围放置一个完整的边框:

使用panel.border = element_rect(colour = "black")结果在图中丢失变成空白.
我无法使用,theme_bw()因为它没有与通常主题相同的功能,我目前使用的代码如下:
graph<-ggplot(d,aes(x=d$AOE, y=d$MEI)
)+
geom_point(shape=20, size=3)+
geom_rug()+
annotate("text", x = -1.1, y = 14000, label = "27/04/2011") +
annotate("text", x = -1.3, y = 10400, label = "03/04/1974") +
xlab("MEI")+
ylab("AOE")+
scale_y_log10()+
theme(axis.text.y = element_text(size=14),
axis.text.x = element_text(size=14),
axis.title.y = element_text(size=14),
axis.title.x = element_text(size=14),
panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black")
)
graph
Run Code Online (Sandbox Code Playgroud)
任何关于如何获得全黑边框的建议将非常感谢!
Base R定义了一个identity函数,一个返回其参数的普通身份函数(引用自?identity).
它被定义为:
identity <- function (x){x}
Run Code Online (Sandbox Code Playgroud)
为什么这样一个微不足道的功能会有用呢?为什么它会包含在基础R中?
r ×10
ggplot2 ×2
plot ×2
data-mining ×1
foreach ×1
function ×1
identity ×1
null ×1
progress-bar ×1
roxygen ×1
statistics ×1
variables ×1