我有一个R(ROCR)包我需要在我的R环境中加载.加载包后,将打印一组消息.这通常很好,但由于我的R脚本的输出用于进一步分析,我想完全禁用所有这些输出.我怎么做?此外,我更愿意这样做而不必修改ROCR,因此该脚本的未来用户也不必这样做.
至今:
sink()在这里不起作用 - 重定向stdout和std err /dev/null对我没有任何作用.options(warnings=-1)也没有做任何事情,因为这些不是警告,本身就是印刷品.有什么想法吗?
我试图从列表列表中绘制元素,特别是根据它所属的类着色每个点,使用外部列表索引作为ax值,内部列表的每个元素的值作为y值.示例列表,包含2个子列表:
sample.list <- list(list("A"=0,"B"=0.14285, "C"=0.75), list("A"=0.138,"B"=0,"C"=0.1))
[[1]]
[[1]]$A
[1] 0
[[1]]$B
[1] 0.14285
[[1]]$C
[1] 0.75
[[2]]
[[2]]$A
[1] 0.138
[[2]]$B
[1] 0
[[2]]$C
[1] 0.1
Run Code Online (Sandbox Code Playgroud)
我想要的输出将绘制点的第一个子列表
(1, 0), (1, 0.14285), (1, 0.5)
(即,子列表元素沿着垂直线形成x=1),并且类似地绘制第二子列表.此外,每个子列表元素将具有不同的颜色 - A可以是红色,B绿色等.为了澄清,我试图在一个图上完成所有这些.此外,列表元素的数量可能会根据数据集而变化.任何关于如何解决这个问题的指示都非常感谢!
我这里有点问题.我有一个Python脚本,它调用从C++编译的二进制文件.Python脚本有自己的一组输出(标准输出和错误),这些输出很容易禁用.C++二进制文件也有自己的输出集(标准输出和错误,以及其他输出); 来源可以改变,但我不是原作者.这是一个问题,因为我不想在我的最终程序中输出C++,我也不希望将来的用户需要编辑C++源代码.
我希望能够做的是有一些Python方法,它将捕获发送到标准输出或错误的C++代码输出.这可能吗?如果是这样,有人会指出我正确的方向吗?
谢谢!!
如果我有多个具有相同密钥集(并且几乎相同的值)的dicts,那么这两个dicts是否具有相同的条目顺序?或者哈希的过程不是那么可预测的?
有没有简单的方法可以根据名称获取列表中项目的平均值?示例数据集:
sampleList <- list("a.1"=c(1,2,3,4,5), "b.1"=c(3,4,1,4,5), "a.2"=c(5,7,2,8,9), "b.2"=c(6,8,9,0,6))
sampleList
$a.1
[1] 1 2 3 4 5
$b.1
[1] 3 4 1 4 5
$a.2
[1] 5 7 2 8 9
$b.2
[1] 6 8 9 0 6
Run Code Online (Sandbox Code Playgroud)
我所试图做的就是类似但不相同名称的列柱之间的平均值,输出与该列平均值列表a's和b's.目前我可以做以下事情:
y <- names(sampleList)
y <- gsub("\\.1", "", y)
y <- gsub("\\.2", "", y)
y <- sort(unique(y))
sampleList <- t(as.matrix(as.data.frame(sampleList)))
t <- list()
for (i in 1:length(y)){
temp <- sampleList[grep(y[i], rownames(sampleList)),]
t[[i]] <- apply(temp, 2, mean)
}
t
[[1]]
[1] …Run Code Online (Sandbox Code Playgroud) 我使用lme4以下方法拟合线性混合效果模型:
library(lme4)
data(Orthodont)
dent <- Orthodont
d.test <- lmer(distance ~ age + (1|Subject), data=dent)
Run Code Online (Sandbox Code Playgroud)
如果我们说通常Y = X * B + Z * d + e是线性混合效应模型的形式,那么我试图Var(Y) = Z * Var(d) * Z^t + Var(e)从模型的结果中得到.
以下配方是否是正确的方法?
k <- table(dent$Subject)[1]
vars <- VarCorr(d.test)
v <- as.data.frame(vars)
sigma <- attr(vars, "sc")
s.tech <- diag(v$vcov[1], nrow=k)
icc <- v$vcov[1]/sum(v$vcov)
s.tech[upper.tri(s.tech)] <- icc
s.tech[lower.tri(s.tech)] <- icc
sI <- diag(sigma^2, nrow=length(dent$age))
var.b <- kronecker(diag(1, nrow=length(dent$age)/k), s.tech)
var.y <- sI + var.b …Run Code Online (Sandbox Code Playgroud) 我有一个问题,我有k项,比方说{0,1},我必须列举所有可能的N抽奖,比方说N=3.也就是说,我试图从矢量中找到给定大小的所有可能样本,并进行替换.
我可以通过以下循环方法到达那里:
for (i1 in c(0,1)){
for (i2 in c(0,1)){
for (i3 in c(0,1)){
print(paste(i1,i2i3,collapse="_"))
}}}
Run Code Online (Sandbox Code Playgroud)
然而,这感觉像一个kludge.使用基础R有更好的方法吗?