小编HBa*_*Bat的帖子

grep特殊字符

我想在下面的向量中找到包含星形字符的元素.

s <- c("A","B","C*","D","E*")
grep("*",s)

[1] 1 2 3 4 5
Run Code Online (Sandbox Code Playgroud)

这不起作用.我可以理解,因为它是一个特殊的角色.
当我在这里阅读时,我决定在明星角色之前使用"\".但这给了我一个错误:

grep("\*",s)
Error: '\*' is an unrecognized escape in character string starting ""\*"
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

string grep r

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

在Rstudio中创建新项目的脚本

我想写一个在RStudio中创建新项目的模板.我想做的是:

  1. 在名为"MyNewProject"的文件夹中创建一个新的Rstudio项目
  2. 使用ProjectTemplate此文件夹中的包创建一个新项目:create.project('MyNewProject').
  3. 在此文件夹中进行一些修改.

我相信我可以编写第2步和第3步.但我不知道如何通过脚本在RStudio中创建一个新项目.如果有可能,我该怎么办?

r project-template rstudio

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

使用 C++ 中的另一个向量对向量进行排序,而无需 lambda 函数

我想获得基于向量的有序索引值(稍后我将使用此索引对另一个向量进行排序)。以下代码适用于我的目的:

std::vector<int> order_ideal(std::vector<double> x) {
  std::vector<int> idx(x.size());
  std::iota(idx.begin(), idx.end(), 0);
  std::sort(idx.begin(), idx.end(), [&](int i, int j){return x[i] > x[j];});
  return idx;
}
Run Code Online (Sandbox Code Playgroud)

但是,无法在 GCC 编译器的早期版本中使用 lambda 函数,因此我正在寻找另一种方法来实现此代码而不使用 lambda 函数。我真的很喜欢如何[&]捕获外部环境变量。换句话说,我想xstd::sort().

或者,我可以进行以下工作,但它在我的计算机上比上面的函数慢六倍(我还没有检查它是否与早期的 GCC 版本兼容):

bool isGreater(int i, int j, std::vector<double> x)
{
    return x[i] > x[j];
}


std::vector<int> order_bind(std::vector<double> x)
{
  std::vector<int> idx(x.size());
  std::iota(idx.begin(), idx.end(), 0);
  std::sort(idx.begin(), idx.end(), std::bind(isGreater, std::placeholders::_1, std::placeholders::_2, x));
  return idx;
}
Run Code Online (Sandbox Code Playgroud)

我有点明白我需要像这里解释的那样将这两个向量(idxx在一起)绑定在一起。但在这种情况下我无法实现它。

c++

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

如何使用大数据图(例如跟踪图)加快PDF页面的滚动速度

我正在为贝叶斯分析结果准备一份Latex文档和幻灯片.R中"coda"包产生的跟踪图非常大.按大小,我的意思是千字节(KB)和加载时间.当我在慢速计算机或IPAD中向下滚动pdf文件时,加载涉及跟踪图的页面需要花费大量时间.有没有办法"减轻"这些情节,以便滚动时间大幅减少?(例如转换为另一种格式而不会丢失太多细节).

注意:我使用Rstudio和knitr来生成乳胶文档.

例如,我使用以下代码生成了一个图.如果我将其导出为单页PDF文档,则PDF的大小将为439 KB(与大小为7 KB的基本图表相比).

library(coda)
temp <- mcmc(matrix(rnorm(100000),ncol=1))
traceplot(temp) 
Run Code Online (Sandbox Code Playgroud)

pdf plot r bayesian knitr

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

向ggplot添加多个图例

我有以下多层情节:

df <- data.frame(number = 1:10, 
                 values = rnorm(10), 
                 decision = factor(rbinom(10,1,.5), levels = c(0,1),
                                   labels=c("No","Yes")),
                 expValues = rnorm(10),
                 bandwidth = runif(10, 0,1))

ggplot(df,aes(x = number, y = values, color=decision)) + aes(group=NA) +
  geom_line(size = 1) + 
  geom_point(size = 3,shape = 16) + 
  geom_smooth(data = df, aes(ymin = values-bandwidth , ymax = values+bandwidth), 
              stat = "identity") +
  geom_point(data=df,
             aes(x=number,y=expValues),shape = "x", size = 5, color = "blue") +
  geom_text(data = data.frame(x = Inf, y = max(df$values), label = "Mean  = …
Run Code Online (Sandbox Code Playgroud)

plot r legend ggplot2

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

在 Vim 中禁用小写键盘映射

我想在 Vim 中禁用更改为小写的键映射。具体来说,这里提到的命令:

视觉选择文本,然后u为小写。

我从这里发现我可以添加:unmap u.vimrc,但它可能会禁用我不想要的撤消命令。

如何u在视觉选择模式下禁用?

vim

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

在 Rcpp 中提取矩阵行

我正在按照Rcpp 快速参考指南将矩阵的一行提取为向量。该指南的示例是:

// Copy the second column into new object (xx is a NumericMatrix)
NumericVector zz1 = xx( _, 1);
Run Code Online (Sandbox Code Playgroud)

当我在 Rstudio 中获取以下代码时,我收到以下错误:

在此处输入图片说明

#include <Rcpp.h>
using namespace Rcpp;


// [[Rcpp::export]]
int foo1(Rcpp::IntegerVector res)
{
  int output = res[0];
  return output;
}


// [[Rcpp::export]]
int foo(Rcpp::IntegerMatrix res)
{
  int n = res.nrow();
  int output;
  IntegerVector temp_res = res( 1, _);
  // IntegerVector temp_res = res.row(1);

  for (int r = 0; r < n; r++) {
    output = foo1(res = …
Run Code Online (Sandbox Code Playgroud)

r rcpp

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

在 Rcpp 中检查向量的 Null 和 NA

我正在尝试以y第二个可为空向量 ( r)的值是否为条件来评估向量 ( )的总和NA。如果第二个向量r为 NULL,y则应将 的所有值相加。如果 的所有元素r都是NA,则函数应返回 NA。请参阅文本末尾以获得所需的输出。

我首先尝试了以下代码:

library(Rcpp)
cppFunction('double foo(NumericVector y, Rcpp::Nullable<Rcpp::IntegerVector> r = R_NilValue) {
  double output = 0;
  bool return_na = !Rf_isNull(r);
  int y_count = y.size();
  for (int i = 0; i < y_count; i++) {
    if (Rf_isNull(r)  || !R_IsNA(r[i])) {
    //// if (Rf_isNull(r)  || !R_IsNA(as<IntegerVector>(r)[i])) {
      if (!Rf_isNull(r))
        Rcout << R_IsNA(as<IntegerVector>(r)[i]) << " - "<< as<IntegerVector>(r)[i] << std::endl;
      output = output …
Run Code Online (Sandbox Code Playgroud)

r rcpp

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

快捷键控制输入在 R 脚本中不起作用

ctrl+R 不再适用于执行脚本行。

这不是硬件/键盘问题。

我也重新启动了我的电脑。

我在另一台电脑上试过。

我最近从使用 R 切换到使用 RStudio。我认为这可能与它有关,所以我在 RStudio 中打开并重新保存了脚本,但没有任何效果。

此外,我创建了一个 R-Project 文件夹并将文件(包括相关脚本)复制到其中。然后我启动了 R-Studio 并打开了项目。

我想发布我的 sessionInfo(),但不知道如何在不执行命令的情况下执行此操作。

请记住,我仅将 R 用于统计目的。我不太了解信息学或其他类型的编程等,所以请尽量保持简单。谢谢!

r rstudio

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

使用R导出期刊文章的引用

我想要R:

  1. 这个页面.
  2. 选择"Bibtex"为格式,"引用和摘要"为"导出类型".
  3. 按"提交"并将引文文件下载到指定的文件夹.

可能吗?我怎么能用R做到这一点?(我不知道JavaScript和我无法理解较早的话题多与此相关的问题.1,2,3)

最后,我想下载期刊的所有bibtex(以及可能的Endnote)引用(例如期刊).

javascript r web-scraping scrape

0
推荐指数
1
解决办法
154
查看次数

标签 统计

r ×8

plot ×2

rcpp ×2

rstudio ×2

bayesian ×1

c++ ×1

ggplot2 ×1

grep ×1

javascript ×1

knitr ×1

legend ×1

pdf ×1

project-template ×1

scrape ×1

string ×1

vim ×1

web-scraping ×1