相关疑难解决方法(0)

R中包中的全局变量

我正在用R开发一个包.我有一堆函数,其中一些需要一些全局变量.如何管理包中的全局变量?

我已经阅读了一些关于环境的内容,但我不明白它是如何工作的,如果这就是解决问题的方法.

r global-variables

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

通过功能更新数据帧不起作用

我使用R遇到了一个小问题......

在以下数据框中

test <- data.frame(v1=c(rep(1,3),rep(2,3)),v2=0) 
Run Code Online (Sandbox Code Playgroud)

我想在v1为1的行中更改v2的值.

test[test$v1==1,"v2"] <- 10
Run Code Online (Sandbox Code Playgroud)

工作得很好.

test
  v1 v2
1  1 10
2  1 10
3  1 10
4  2  0
5  2  0
6  2  0
Run Code Online (Sandbox Code Playgroud)

但是,我需要在函数中执行此操作.

test <- data.frame(v1=c(rep(1,3),rep(2,3)),v2=0)

test.fun <- function (x) {
    test[test$v1==x,"v2"] <- 10
    print(test)
}
Run Code Online (Sandbox Code Playgroud)

调用该函数似乎有效.

test.fun(1)
  v1 v2
1  1 10
2  1 10
3  1 10
4  2  0
5  2  0
6  2  0
Run Code Online (Sandbox Code Playgroud)

但是,当我现在看看测试时:

test
  v1 v2
1  1  0
2  1  0
3  1  0 …
Run Code Online (Sandbox Code Playgroud)

r function dataframe

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

如何使用 ROCR 提取平均 ROC 曲线预测?

ROCRR提供了绘制平均 ROC 曲线的能力(来自ROCR 参考手册):

library(ROCR)
library(ROCR)
data(ROCR.xval)
# plot ROC curves for several cross-validation runs (dotted
# in grey), overlaid by the vertical average curve and boxplots
# showing the vertical spread around the average.
data(ROCR.xval)
pred <- prediction(ROCR.xval$predictions, ROCR.xval$labels)
perf <- performance(pred,"tpr","fpr")
plot(perf,col="grey82",lty=3)
plot(perf,lwd=3,avg="vertical",spread.estimate="boxplot",add=TRUE)
Run Code Online (Sandbox Code Playgroud)

带箱线图的平均 ROC 图

迷人的。不幸的是,似乎无法将平均 ROC 曲线本身作为对象/数据帧/等获取。用于进一步的统计测试(例如,使用 pROC)。我确实做了一些研究(尽管可能是在事实之后),我发现了这篇文章:

R 中的全局变量

我查看了 ROCR 的代码,发现以下几行用于将结果传递给绘图:

performance_plots.R,(从第 451 行开始)

## compute average curve
 perf.avg <- perf.sampled
 perf.avg@x.values <- list( rowMeans( data.frame( perf.avg@x.values))) …
Run Code Online (Sandbox Code Playgroud)

r roc

6
推荐指数
1
解决办法
3746
查看次数

R语言中变量的冲突

我有一个R的脚本,它采用R的其他脚本并以这种方式操作它们,并执行它们的代码.我的脚本使用了一些变量(显然),当其他脚本使用公共变量名时,我就搞得一团糟.我希望我能像胶囊一样执行其他脚本,这样重合的变量不会相互影响.

我一直在阅读有关环境的文章,并进行了大量试验,但我没有发现它们的真正含义.

例:

script1.txt
___________
i=sample(10:20,1)

script2.txt
___________
i=sample(10:20,1) 

myscript.txt
___________
other.script = c("script1.txt", "script2.txt")
for( i in 1:2 ) {
    source(other.script[i])
}
i==2
Run Code Online (Sandbox Code Playgroud)

我希望每个变量"i"在不影响其他变量的情况下履行其职责(特别是myscript中的变量,我不关心其他变量).

scope r

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

标签 统计

r ×4

dataframe ×1

function ×1

global-variables ×1

roc ×1

scope ×1