我正在尝试使用rangerR软件包来加速进行大量randomForest计算.我正在检查我从中得到的预测,并注意到一些有趣的事情,因为预测完全取消了.
下面是一个可重复的例子比较randomForest和ranger.
data(iris)
library(randomForest)
iris_spec <- as.factor(iris$Species)
iris_dat <- as.matrix(iris[, !(names(iris) %in% "Species")])
set.seed(1234)
test_index <- sample(nrow(iris), 10)
train_index <- seq(1, nrow(iris))[-test_index]
iris_train <- randomForest(x = iris_dat[train_index, ], y = iris_spec[train_index], keep.forest = TRUE)
iris_pred <- predict(iris_train, iris_dat[test_index, ])
iris_train$confusion
## setosa versicolor virginica class.error
## setosa 47 0 0 0.00000000
## versicolor 0 42 3 0.06666667
## virginica 0 4 44 0.08333333
cbind(as.character(iris_pred), as.character(iris_spec[test_index]))
## [,1] [,2]
## [1,] "setosa" "setosa" …Run Code Online (Sandbox Code Playgroud) 为文档ggplot2的stat_bin功能说,它返回与其他列新的数据帧.如何实际访问此数据框?
可能吗?
simple <- data.frame(x = rep(1:10, each = 2))
tmp <- stat_bin(data=simple, binwidth=0.1, aes(x))
Run Code Online (Sandbox Code Playgroud)
我已经发现这tmp是一个环境,ls(tmp)并将显示环境中的对象,但在探索了这些对象之后,我没有看到任何类似于被描述为返回值的内容.
希望获得关于许可我创建的R包的一些智慧和指导.
我的包knitrProgressBar将
dplyr::progress_estimated内部函数拆分为它自己的包(为了避免一些依赖并用它做一些自定义的东西),然后为决策逻辑添加一些代码.
我想正确许可我的包(使用MIT许可证),并给出正确的归属,以便其他人没有使用它的问题(并且可以通过CRAN发布).
dplyr 在麻省理工学院获得许可,RStudio作为版权所有者,并且作为R作者的作者被列为作者.
我理解我会将自己列为R字段作者中的"创建者" knitrProgressBar,但我不确定谁应该被列为作者和版权所有者,以及如何将这些信息合并到LICENSE文件中.
非常感谢指导.
想象一下,我有两个不同长度的向量.我想生成一个图,其中两个矢量的密度重叠.我认为我应该做的是:
vec1 <- data.frame(x=rnorm(2000, 0, 1))
vec2 <- data.frame(x=rnorm(3000, 1, 1.5))
ggplot() + geom_density(aes(x=x, colour="red"), data=vec1) +
geom_density(aes(x=x, colour="blue"), data=vec2)
Run Code Online (Sandbox Code Playgroud)
然后我想我应该这样做:
vec1 <- data.frame(x=rnorm(2000, 0, 1))
vec2 <- data.frame(y=rnorm(3000, 1, 1.5))
ggplot() + geom_density(aes(x=x, colour="red"), data=vec1) +
geom_density(aes(x=y, colour="blue"), data=vec2)
Run Code Online (Sandbox Code Playgroud)
这些都不起作用,因为颜色混杂起来.
根据我在StackOverflow 1 2中找到的另一个解决方案,我意识到我应该尝试这个:
vec1 <- data.frame(x=rnorm(2000, 0, 1), grp="vec1")
vec2 <- data.frame(x=rnorm(3000, 1, 1.5), grp="vec2")
allDat <- rbind(vec1, vec2)
ggplot(allDat, aes(x, colour=grp)) + geom_density()
ggplot(allDat, aes(x, colour=grp)) + geom_density() +
scale_colour_manual(values=c("green", "blue"))
ggplot(allDat, aes(x, colour=grp)) + geom_density() + …Run Code Online (Sandbox Code Playgroud)