小编Ben*_*sen的帖子

哪个iomanip操纵器"粘"?

我最近遇到了一个问题stringstream,因为我错误地认为std::setw()这会影响每次插入的字符串流,直到我明确地更改它.但是,插入后总是未设置.

// With timestruct with value of 'Oct 7 9:04 AM'
std::stringstream ss;
ss.fill('0'); ss.setf(ios::right, ios::adjustfield);
ss << setw(2) << timestruct.tm_mday;
ss << timestruct.tm_hour;
ss << timestruct.tm_min;
std::string filingTime = ss.str(); // BAD: '0794'
Run Code Online (Sandbox Code Playgroud)

所以,我有很多问题:

  • 为什么setw()这样?
  • 有这样的其他操纵者吗?
  • 是否有之间的行为差异std::ios_base::width()std::setw()
  • 最后有一个在线参考,清楚地记录了这种行为?我的供应商文档(MS Visual Studio 2005)似乎没有清楚地显示这一点.

c++ c++-faq

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

OpenMP中的原子和关键有什么区别?

OpenMP中的原子和关键有什么区别?

我可以做这个

#pragma omp atomic
g_qCount++;
Run Code Online (Sandbox Code Playgroud)

但是不一样

#pragma omp critical
g_qCount++;
Run Code Online (Sandbox Code Playgroud)

atomic openmp critical-section

103
推荐指数
5
解决办法
7万
查看次数

构造函数上没有括号,没有参数是语言标准吗?

我正在使用g ++编译Cygwin中的C++程序,我有一个类,其构造函数没有参数.我有线:

MyClass myObj();
myObj.function1();
Run Code Online (Sandbox Code Playgroud)

当我尝试编译它时,我收到了消息:

error: request for member 'function1' in 'myObj', which is of non-class type 'MyClass ()()'
Run Code Online (Sandbox Code Playgroud)

经过一番研究,我发现修复是将第一行更改为

MyClass myObj;
Run Code Online (Sandbox Code Playgroud)

我可以发誓我之前用C++中的括号做了空构造函数声明.这可能是我正在使用的编译器的限制,还是语言标准真的说不使用括号用于没有参数的构造函数?

c++ standards constructor

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

R中的大固定效应二项式回归

我需要在一个相对较大的数据框架上运行逻辑回归,其中包含480个条目和3个固定效果变量.固定效应var A有3233级,var B有2326级,var C有811级.总而言之,我有6370个固定效果.数据是横截面的.如果我不能使用正常glm函数运行此回归,因为回归矩阵对于我的记忆来说似乎太大了(我得到消息" Error: cannot allocate vector of size 22.9 Gb").我正在寻找在我的Macbook Air(OS X 10.9.5 8GB RAM)上运行此回归的替代方法.我也可以访问具有16GB RAM的服务器.

我试过用几种不同的方法解决这个问题,但到目前为止还没有取得令人满意的结果:

LFE/felm:使用的felm回归函数lfe减去运行回归之前固定的效果.这完美地工作,并允许我在几分钟内将上述回归作为正常线性模型运行.但是,lfe不支持逻辑回归和glms.所以felm非常适合了解不同模型的模型拟合,但不适用于最终的逻辑回归模型.

biglm/bigglm:我想过bigglm用来将我的功能分解成更易于管理的块.然而,若干来源(例如link1,link2,link3)提到为了使其起作用,因子级别需要在块之间保持一致,即每个块必须包含每个因子变量的每个因子中的至少一个.因子A和B包含仅出现一次的级别,因此我无法将这些集合拆分为具有一致级别的不同块.如果我删除固定效应A的10个因子和B的8个因子(微小的变化),我将只剩下4个级别的因子,并且将我的数据分成4个块将使其更易于管理.然而,我仍然需要弄清楚如何对我的df进行排序,以确保我的480.000条目被分类为4个块,其中3个因子中的每个因子的每个因子级别出现至少一次.

GlmmGS/glmgs:glmmgs具有相同名称的包中的函数执行固定效果减法,如lfe使用"Gauss-Seidel"算法的逻辑回归包.不幸的是,该包已不再开发.对R来说比较新,没有深入的统计经验,我无法理解输出,也不知道如何以一种能给我正常"效果大小","模型拟合","模型拟合"的方式对其进行转换.显着性区间"glm回归摘要提供的指标.

我给包的作者发了一条消息.他们回应如下:

该包不提供与glm对象相同格式的输出.但是,在给定当前输出的情况下,您可以轻松计算大部分拟合统计量(估计的标准误差,拟合度)(在CRAN版本中,我相信当前输出是系数估计的向量,以及相关的向量标准误差;协方差分量相同,但如果你没有随机效应拟合模型,你不必担心它们).只要注意用于计算标准误差的协方差矩阵是与Gauss-Seidel算法相关的精度矩阵的对角线块的倒数,因此它们倾向于低估联合似然的标准误差.我不再维护包裹,我没有时间详细说明; 包装背后的开创性理论可以在手册中引用论文中找到 ,其他一切都需要用笔和纸来制定:).

如果任何人都可以解释如何"轻松计算大部分拟合统计数据",使得没有任何统计学教育的人能够理解它(可能是不可能的)或者提供R代码,以示例如何实现这一点,我将是非常感谢!

Revolution Analytics:我在一台模拟Mac上的Windows 7的虚拟机上安装了革命分析企业.该程序具有一个被调用的函数RxLogit,该函数针对大型逻辑回归进行了优化.使用RxLogit我得到的功能the error (Failed to allocate 326554568 bytes. Error in rxCall("RxLogit", params) : bad allocation),所以该功能似乎也遇到了内存问题.但是,该软件使我能够在分布式计算集群上运行回归.所以我可以通过在具有大量内存的集群上购买计算时间来"解决问题".但是,我想知道革命分析程序是否提供了我不知道的任何公式或方法,这将允许我做某种类似的lfe固定效果减法操作或类似的bigglm …

r large-data mixed-models logistic-regression microsoft-r

13
推荐指数
1
解决办法
2793
查看次数

有没有办法知道R脚本是直接运行还是在另一个脚本中运行?

我正在使用R studio.

有没有办法知道R脚本是由控制台中的源命令直接运行还是在另一个脚本中运行.即.另一个脚本来源,这可以调用第一个脚本.

在某些情况下,这对于提示某些值很有用.

我现在正在做的是将变量设置为true或false,并在脚本中检查该变量.这有效,但自动方式更好.

谢谢你的时间.

编辑:更多信息

假设我有一个运行良好的独立脚本,但是这个脚本是另一个脚本完成后运行的进程的一部分.如果我必须同时运行,我可以运行第一个,然后运行第二个; 但我也有机会跑第二个.

我要问的是,是否有办法(在第二个脚本中)验证第二个是从第一个调用还是从第二个调用.

看看他的简单例子(灵感来自Greg Snow的回答).首先是我在Rstudio中调用的文件

# scripta.R
writeLines("script A")
if (interactive()) writeLines("interactive: true") else writeLines("interactive false")
source("scriptb.r")
writelines("after B")
Run Code Online (Sandbox Code Playgroud)

然后该文件被采购

# scriptb.R
writeLines("script B")
if (interactive()) writeLines("interactive: true") else writeLines("interactive false")
writeLines("end B")
Run Code Online (Sandbox Code Playgroud)

Rstudio的结果是

script A
interactive: true
script B
interactive: true
end B
after B
Run Code Online (Sandbox Code Playgroud)

我喜欢有类似的东西

script A
interactive: true
script B
interactive: false
end B
after B
Run Code Online (Sandbox Code Playgroud)

我希望现在更清楚了.

谢谢

r

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

使用roll apply在R中滚动回归

我导入的数据包含7个变量:YX1,X2,X3,X4,X5,X6.我尝试应用该rollapply函数,zoo以便在样本内运行滚动回归,窗口为262 obs.(一年中的工作日).

         date             Y            X1            X2
1     10/1/07 -0.0080321720  4.690734e-03  3.333770e-03
2     10/2/07  0.0000000000 -2.818413e-03  5.418223e-03
3     10/3/07  0.0023158650 -4.178744e-03 -3.821100e-04
4     10/4/07 -0.0057491710 -5.071030e-03 -8.321550e-04
5     10/5/07  0.0073570500  3.065045e-03  5.179574e-03
6     10/8/07  0.0127708010 -7.278513e-03  1.145395e-03
7     10/9/07  0.0032661980  9.692267e-03  6.514035e-03
8    10/10/07  0.0013824430  1.161780e-04  2.676416e-03
9    10/11/07  0.0026607550  1.113179e-02  8.825719e-03
10   10/12/07 -0.0046362600 -2.453561e-03 -6.584070e-03
11   10/15/07 -0.0023757680 -7.829081e-03 -3.070540e-03
12 …
Run Code Online (Sandbox Code Playgroud)

r rollapply rolling-computation

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

B Spline混乱

我意识到在这个主板上有关于B-Splines主题的帖子,但实际上这让我更加困惑,所以我觉得有人可能会帮助我.

我已经模拟了从0到1的x值的数据.我想在我的数据中拟合一个三次样条(degree = 3),结点为0,0.1,0.2,...,0.9,1.我也喜欢使用B样条基和OLS进行参数估计(我不是在寻找惩罚样条).

我想我需要包装中的bs功能,spline但我不太确定,我也不知道究竟要喂它.

我还想绘制得到的多项式样条曲线.

谢谢!

regression r spline smoothing

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

从 R 打开 pdf 文件

我正在尝试从 R 打开一个 pdf 文件。为此,我使用openPDF() Biobase 包中的函数。如果文件路径不包含单词之间的空格(例如"/Users/Admin/Desktop/test.pdf"),则它可以正常工作,但如果路径包含空格(例如/Users/Admin/Desktop/**My Project**/test.pdf),则它不起作用。我怎样才能让它接受任何路径或者我应该如何自动转换给定的路径以便被 识别openPDF()?我还希望它能够在 mac 和 windows 上运行。这是代码:

library(Biobase)
pdf("test.pdf")
plot(1:10)
dev.off()
openPDF(paste(getwd(), "/test.pdf", sep=""))
Run Code Online (Sandbox Code Playgroud)

pdf r

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

`nlme`具有交叉随机效应

我试图将交叉非线性随机效应模型拟合为此问题中提到的线性随机效应模型,并使用该包在此邮件列表中nlme.虽然,无论我尝试什么,我都会收到错误.这是一个例子

library(nlme)

#####
# simulate data
set.seed(18112003)
na <- 30
nb <- 30

sigma_a <- 1
sigma_b <- .5
sigma_res <- .33

n <- na*nb

a <- gl(na,1,n)
b <- gl(nb,na,n)
u <- gl(1,1,n)

x <- runif(n, -3, 3)

y_no_noise <- x + sin(2 * x)
y <- 
  x + sin(2 * x) + 
  rnorm(na, sd = sigma_a)[as.integer(a)] + 
  rnorm(nb, sd = sigma_b)[as.integer(b)] + 
  rnorm(n, sd = sigma_res)

#####
# …
Run Code Online (Sandbox Code Playgroud)

r random-effects nlme

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

knit 缓存:如果数据文件更改但不更新其他选项(例如“fig.xyz”),则更新

假设我使用knitr,我有一个需要一段时间才能运行的块,我希望这个块在文件更改时更新,但如果我更改则不更新fig.path。后者建议我应该将cache 块选项更改为 1 ,但随后我无法按照此处的建议使用校验和

这是一个 Markdown 文件的示例

---
title: "Example"
author: "Benjamin Christoffersen"
date: "September 2, 2018"
output: html_document
---

```{r setup, include=FALSE}
data_file <- "~/data.RDS"
knitr::opts_chunk$set(echo = TRUE, cache.extra = tools::md5sum(data_file))
```

```{r load_data}
dat <- readRDS(data_file)
```

```{r large_computation, cache = 1}
Sys.sleep(10)
Sys.time() # just to that result do not change
```

```{r make_some_plot}
hist(dat)
```
Run Code Online (Sandbox Code Playgroud)

运行set.seed(1): saveRDS(rnorm(100), "~/data.RDS")和编织产量

在此输入图像描述

然后跑步set.seed(2): saveRDS(rnorm(100), "~/data.RDS")和编织产量

在此输入图像描述

显示large_computation未更新,因为不应该更新,因为 …

r knitr r-markdown

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