小编Cal*_*imo的帖子

C++安全bool包装器

我正在尝试设计一个应用安全bool习语bool包装器结构. 解决这个问题的经典实现非常简单:骨架可能是这样的:

struct Bool final
{
  Bool() = default;

  Bool(bool value)
    : _value{value}
  {}

  explicit operator bool() const {
    return _value;
  }

private:
  bool _value{false};
};
Run Code Online (Sandbox Code Playgroud)

我试图改进的部分是如何Bool构建的.
例如,我想通过设计避免隐式缩小:

Bool b1(45); // yields warnings, but it compiles
Bool b2{3};  // not ok by standard
Run Code Online (Sandbox Code Playgroud)

我试图用模板伤害自己,但没有成功.

我怎么能让它工作?

c++ boolean safe-bool-idiom

40
推荐指数
4
解决办法
3280
查看次数

如何在没有X11的服务器上运行R脚本

我想运行R脚本并使用保存图png().Unix服务器不支持X11,我收到以下错误消息:

Error in X11(paste("png::", filename, sep = ""), g$width, g$height, pointsize,  : 
  unable to start device PNG
Calls: png
In addition: Warning message:
In png("test.png", width = 900, height = 400) :
  unable to open connection to X11 display ''
Execution halted
Run Code Online (Sandbox Code Playgroud)

设置环境变量

Sys.setenv("DISPLAY"=":0.0")
Run Code Online (Sandbox Code Playgroud)

要么

Sys.setenv("DISPLAY"=":0")
Run Code Online (Sandbox Code Playgroud)

在R脚本中没有解决问题.

此代码示例产生上述错误:

library(ggplot2)
library(grid)

# Some data
df = data.frame(x = c(1.2,5,3,5.3,2,9,4,6,8,0), y = c(1.5,6,2.5,5.1,2.3,8.7,4.1,6,8,0))


# Base plot
p <- ggplot(df, aes(x,y)) + geom_point() +
   scale_x_continuous(limits = c(0, 8), expand = c(0,0)) …
Run Code Online (Sandbox Code Playgroud)

linux x11 r

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

使用阴影填充绘制不等式的最简单方法?

在此输入图像描述

请参考上图.我在excel中绘制了方程式,然后手工着色.你可以看到它不是很整洁.您可以看到有六个区域,每个区域由两个或更多个方程组成.使用阴影图案绘制不等式和阴影区域的最简单方法是什么?

plot graph

14
推荐指数
2
解决办法
4607
查看次数

如何在没有集群变量的情况下关闭R并行集群?

使用parallelR包,我可以像这样并行运行:

library(parallel)
cl <- makeCluster(2) # Create a cluster with 2 workers
... # do some parallel stuff
stopCluster(cl)
Run Code Online (Sandbox Code Playgroud)

但是,cl引用群集的变量可能会丢失,例如从失败的函数运行时:

do.something <- function() {
    library(parallel)
    cl <- makeCluster(detectCores())
    parLapply(cl, 1:10, function(x) {
        stop("An error occured")
    })
    stopCluster(cl)
}
do.something()
Run Code Online (Sandbox Code Playgroud)

在这里,stopCluster还没有被执行.当发生这种情况时,我会让工作人员继续运行,如下所示ps:

501 53300  9225   0  2:16PM ttys003    0:00.27 /opt/local/Library/Frameworks/R.framework/Resources/bin/exec/R
501 53390     1   0  2:19PM ttys003    0:00.16 /opt/local/Library/Frameworks/R.framework/Resources/bin/exec/R --slave --no-restore -e parallel:::.slaveRSOCK() --args MASTER=localhost PORT=11099 OUT=/dev/null TIMEOUT=2592000 XDR=TRUE
501 53399     1   0  2:19PM ttys003 …
Run Code Online (Sandbox Code Playgroud)

r

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

使用p中的pROC获得最佳阈值

我有一个包含两列的数据框:score1哪个是numeric,truth1哪个是boolean.我想预测truth1使用score1.要做到这一点,我想要一个简单的线性模型,然后要求一个好的阈值,即一个阈值,它在我的ROC曲线中给出了75%的灵敏度.因此,我这样做:

roc_curve = roc(truth1 ~ score1 , data = my_data)
coords(roc=roc_curve, x = 0.75, input='sensitivity', ret='threshold')
Run Code Online (Sandbox Code Playgroud)

我的问题是coords返回'NA',因为0.75的灵敏度没有出现在ROC曲线中.所以这是我的问题:如何获得阈值,这给我的灵敏度至少为0.75,具有最大特异性?

r roc proc-r-package

5
推荐指数
1
解决办法
5028
查看次数

R 中的便携式空设备

有没有一种可移植的方法来获取 R 中的空设备?

目前我正在这样做:

dev.null <- ifelse(.Platform$OS.type == "windows", "NUL:", "/dev/null")
Run Code Online (Sandbox Code Playgroud)

稍后我可以例如sink(dev.null)try(..., outFile = dev.null)

然而,这对我来说似乎不太稳健。有更好的方法吗?

null r multiplatform

5
推荐指数
1
解决办法
712
查看次数

如何在pROC中绘制多条带置信区间的roc曲线?

这段代码可以画出一条带有置信区间的roc曲线:

ciobj <- ci.se(obj, specificities=seq(0, 1, l=25))
dat.ci <- data.frame(x = as.numeric(rownames(ciobj)),
                     lower = ciobj[, 1],
                     upper = ciobj[, 3])

ggroc(obj) + theme_minimal() + geom_abline(slope=1, intercept = 1, linetype = "dashed", alpha=0.7, color = "grey") + coord_equal() + 
  geom_ribbon(data = dat.ci, aes(x = x, ymin = lower, ymax = upper), fill = "steelblue", alpha= 0.2) + ggtitle(capture.output(obj$ci))
Run Code Online (Sandbox Code Playgroud)

这段代码可以一起绘制多条roc曲线

roc.list <- roc(outcome ~ s100b + ndka + wfns, data = aSAH)
g.list <- ggroc(roc.list)
g.list
Run Code Online (Sandbox Code Playgroud)

但我无法将它们组合在一起:

ggroc(roc.list) + theme_minimal() + geom_abline(slope=1, …
Run Code Online (Sandbox Code Playgroud)

r roc proc-r-package

5
推荐指数
1
解决办法
4007
查看次数

如何为 S3 对象创建赋值方法?

我在 R 中有一个 S3 对象,类似于:

myObject <- list(
    someParameter1 = 4,
    someList = 1:10
)
class(myObject) <- "myClass"
Run Code Online (Sandbox Code Playgroud)

我为这个类创建了一个提取方法:

"[.myClass" <- function(x, i) {
    x$someList[i] * x$someParameter1
}
myObject[5]
# 20
Run Code Online (Sandbox Code Playgroud)

现在我想创建一个分配方法(据?Extract我所知,这称为子分配),以便我可以编写:

myObject[5] <- 250
myObject[5]
# 1000
Run Code Online (Sandbox Code Playgroud)

我首先天真地尝试将其写为

"[<-.myClass" <- function(x, i, value) {
    x$someList[i] <- value
}
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,这会替换myObjectvalue. 我怀疑我必须修改xand then assign("someName", x, pos=somewhere),但是我怎样才能可靠地确定someNameandsomewhere呢?

或者有其他方法可以做到这一点吗?

r

4
推荐指数
1
解决办法
465
查看次数

强制roc函数(R中的软件包pROC)中输入的“ direction”自变量强制执行什么操作?

我想通过在R中使用pROC包的'roc'函数创建roc对象,并绘制roc对象。但是,我不确定“方向”论据的作用。我的控件的中值预测值小于案例的中值预测值。所以我认为正确的方向应该是“ <”。但是,如果我使用方向参数“>”进行绘制。它只是将ROC曲线在对角线上翻转为镜像。我想知道在这种情况下,数据告诉您一件事,而论点正在迫使一个不同的方向,将什么与什么进行比较,以及如何进行比较?我通读了pROC手册中有关“方向”参数的内容,其解释非常简短且不清楚。

希望听到您的一些意见!

r roc proc-r-package

4
推荐指数
1
解决办法
1340
查看次数

ROC 函数错误“预测器必须是数字或有序的。”

我无法使 ROC 函数工作,出现错误“预测器必须是数字或有序”。

我浏览了其他帖子,但没有解决我的问题。任何帮助都受到高度赞赏。

"Get data"
flying=dget("https://www.math.ntnu.no/emner/TMA4268/2019v/data/flying.dd")
ctrain=flying$ctrain
ctest=flying$ctest


library(MASS)
fly_qda=qda(diabetes~., data=ctrain)


#Test error is given below:
predict_qda=predict(fly_qda, newdata=ctest, probability=TRUE)
table_qda<-table(ctest$diabetes, predict_qda$class)
error_qda<-1-sum(diag(table_qda))/sum(table_qda)
error_qda

"ROC curve and AUC"
predict_qdatrain<-predict(fly_qda, newdata=ctrain)
roc_qda=roc(response=ctrain$diabetes, predictor= predict_qdatrain$class, plot=TRUE)
plot(roc_qda, col="red", lwd=3, main="ROC curve QDA")
auc_qda<-auc(roc_qda)
Run Code Online (Sandbox Code Playgroud)

我想要绘制的 ROC 曲线和 AUC

r roc proc-r-package

4
推荐指数
1
解决办法
8693
查看次数

标签 统计

r ×8

proc-r-package ×4

roc ×4

boolean ×1

c++ ×1

graph ×1

linux ×1

multiplatform ×1

null ×1

plot ×1

safe-bool-idiom ×1

x11 ×1