小编And*_*rie的帖子

新参考类的意义是什么?

显然,John Chambers 在版本2.12中将R的Reference Classes添加到了R中.网上似乎没有太多的信息,但他们称之为R5课程,这意味着他们与S3和S4课程处于同一水平.

问题:什么是引用类,它如何适应现有的类类型?

r reference-class

47
推荐指数
1
解决办法
7953
查看次数

R随机森林变量重要性

我试图使用随机森林包在R中进行分类.

列出的可变重要性措施是:

  • 对于0级,变量x的平均原始重要性得分
  • 第1类的变量x的平均原始重要性得分
  • MeanDecreaseAccuracy
  • MeanDecreaseGini

现在我知道这些"意思"是什么,因为我知道他们的定义.我想知道的是如何使用它们.

我真正想知道的是,这些价值仅仅意味着它们是多么准确,什么是好价值,什么是坏价值,什么是最大值和最小值等等.

如果变量有高MeanDecreaseAccuracy或者MeanDecreaseGini这意味着它是重要的还是不重要的?此外,有关原始分数的任何信息也可能有用.我想知道有关这些数字的所有信息,这些数字与它们的应用相关.

使用"错误","求和"或"置换"等词语的解释将不那么有用,因为更简单的解释不涉及任何关于随机森林如何运作的讨论.

就像我希望有人向我解释如何使用收音机一样,我不希望这个解释涉及无线电如何将无线电波转换成声音.

statistics r data-mining random-forest

46
推荐指数
3
解决办法
5万
查看次数

在R中,具有与基本R函数同名的变量究竟是什么问题?

使用具有相同名称的基本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函数同名的变量究竟是什么问题?

variables r function

46
推荐指数
3
解决办法
6953
查看次数

如何从ggplot对象中提取填充颜色?

我正在尝试为一系列生成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)

r ggplot2

46
推荐指数
1
解决办法
9261
查看次数

如何使用Roxygen从不同的包中正确记录泛型的S3方法?

我正在编写一个包,它定义了一个新类,测量器和一个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)

r roxygen

45
推荐指数
2
解决办法
6565
查看次数

如何在R中的散点图中为每个类赋予颜色?

在数据集中,我想采用两个属性并创建有监督的散点图.有谁知道如何为每个班级提供不同的颜色?

我试图col == c("red","blue","yellow")在plot命令中使用,但不确定它是否正确,好像我再包含一种颜色,即使我只有3个类,该颜色也会出现在散点图中.

谢谢

plot r

43
推荐指数
5
解决办法
21万
查看次数

R中的NULL和字符(0)有什么区别?

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

null r

42
推荐指数
3
解决办法
3万
查看次数

在R中使用"foreach()"函数时如何创建进度条?

有关如何在R程序中创建循环计数器的一些信息性帖子.但是,在使用带有"foreach()"的并行化版本时,如何创建类似的功能?

foreach r progress-bar

41
推荐指数
5
解决办法
2万
查看次数

将面板边框添加到ggplot2

我被要求在下面的情节周围放置一个完整的边框:

在此输入图像描述

使用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)

任何关于如何获得全黑边框的建议将非常感谢!

plot r ggplot2

36
推荐指数
3
解决办法
6万
查看次数

R中身份函数的实际用途是什么?

Base R定义了一个identity函数,一个返回其参数的普通身份函数(引用自?identity).

它被定义为:

identity <- function (x){x}
Run Code Online (Sandbox Code Playgroud)

为什么这样一个微不足道的功能会有用呢?为什么它会包含在基础R中?

identity functional-programming r

33
推荐指数
4
解决办法
6278
查看次数