小编bri*_*tar的帖子

有什么办法让Emacs键盘快捷方式沉默?

Emacs有时候会很烦人,它会在迷你缓冲区中发出太多信息.例如,当我跑步时M-x gnus,它会告诉我

You can run `gnus' with <menu-bar><tools><gnus>
Run Code Online (Sandbox Code Playgroud)

当某个命令有一个键映射时,也会发生这种情况.我不需要它们,但我不知道如何删除.

有任何想法吗?

谢谢.

emacs elisp dot-emacs minibuffer emacs24

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

R:按名称寻址多列数据帧

我有一些具有足够高的维度(14)的数据集,一次性成对绘图是痛苦的.在那种情况下,我希望能够选择他们所在的数据帧的子集,但我只知道如何按编号对列进行寻址.回读代码时,这很烦人且不清楚:

partimat(MARKER ~ ., trim_data11[,c(1:5,NCOL(trim_data11))],method="qda")
Run Code Online (Sandbox Code Playgroud)

我想做的是这样的事情,这是行不通的:

partimat(MARKER ~ ., trim_data11$(c(AF3,F7,P8,O1,O2,MARKER)),method="qda")
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

r data-visualization dataframe

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

R data.table与rollapply

是否存在使用data.table分组计算滚动统计信息的现有习惯用法?

例如,给出以下代码:

DT = data.table(x=rep(c("a","b","c"),each=2), y=c(1,3), v=1:6)
setkey(DT, y)

stat.ror <- DT[,rollapply(v, width=1, by=1, mean, na.rm=TRUE), by=y];
Run Code Online (Sandbox Code Playgroud)

如果还没有,那最好的方法是什么?

r data.table

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

有没有办法用文字编程进行测试驱动的开发?

我正在学习用R做我的第一次单元测试,并且我在R Markdown文件中编写我的代码,以便简单地提供简短的研究报告.同时,我想测试我在这些文件中使用的函数,以确保结果是合理的.

问题在于:R Markdown文件用于编织HTML编织器,而不是RUnit测试工具.如果我想在测试代码中加载一个函数,我有几个选择:

  1. 复制粘贴Markdown文件中的代码块,该文件将Markdown文档中的代码与测试代码分离
  2. 将我的测试代码放在Markdown文件中,这使得报告难以理解(可能最终会容忍)
  3. 编写代码,首先测试它,然后将其作为Markdown代码中的库包含在内,这样就消除了在报告正文中提供代码的信息性特征

是否有更明智的方法可以避免这些方法的缺点?

unit-testing r literate-programming

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

R右矩阵除法

什么是最简洁,最快速,最数字稳定,最R-idiomatic方式在R中进行左右矩阵划分?我明白左派inv(A)*B通常都是用solve(a,b),但怎么样B*inv(A)?真的是最好的计算方法t(solve(t(A),t(B)))吗?

r numeric matrix linear-algebra matrix-multiplication

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

Dymaxion/Airocean(二十面体)地图投影的ggplot

我认为R. Buckminster Fuller的Dymaxion地图是有史以来设计的最美丽的地图投影之一:

来自维基百科的dymaxion地图

我正在使用mapproj中的整洁投影,这与ggplot很有效,但看起来并没有任何预测.有一个很好的ggplot方法来做到这一点?

gis r projection geo ggplot2

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

在 Rstudio 中解决项目根目录

在 RStudio 中打开或创建项目时,工作目录会自动更改为项目的工作目录。但是,如果您要保存文件或在其他子目录中工作,那么更改工作目录通常会很方便。在每个脚本中管理它可能会很痛苦。

是否有一个始终指向项目根目录的变量(也可以由“Knit HTML”按钮分叉的会话读取),可以用来使这更容易?

“Knit HTML”按钮出现将工作目录设置为 R Markdown 文件的工作目录。例如,如果您在 中调用project.root了一个变量./Rprofile,并且在打开此脚本的情况下单击“Knit HTML”,

```{r}
getwd()
source('./Rprofile')
setwd(project.root)
getwd()
```
Run Code Online (Sandbox Code Playgroud)

第一个和最后一个结果将是脚本目录,其余的将抛出错误。

r environment-variables rstudio

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

这种从长到宽的重塑我做错了什么?

问题

我写的一个函数,用于扩展重复多变量时间序列数据的长表,用于输入分类器函数,即使对于简单的测试数据,也会导致错误的结果,但我找不到问题.

背景

为了获得大多数R惯用语的速度和易用性,我保留了一系列多变量时间序列的多次时间序列的重复试验.

> this.data
              Time Trial Class Channel      Value
     1: -100.00000     1    -1      V1  0.4551513
     2:  -96.07843     2    -1      V1  0.8241555
     3:  -92.15686     3    -1      V1  0.7667328
     4:  -88.23529     4    -1      V1  0.7475106
     5:  -84.31373     5    -1      V1  0.9810273
    ---                                          
204796:  884.31373   196     1      V4 50.2642220
204797:  888.23529   197     1      V4 50.5747661
204798:  892.15686   198     1      V4 50.5749421
204799:  896.07843   199     1      V4 50.1988299
204800:  900.00000   200     1      V4 50.7756015
Run Code Online (Sandbox Code Playgroud)

具体地说,上述数据具有一个Time具有从0到900的256个唯一编号的列,每个编号Channel对于每个编号重复Trial.类似地,每个Channel …

r machine-learning reshape data.table

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

`move ||`成语的目的是什么?

Rust文档中,有一个关于并发的学习练习,使用以下代码:

let philosophers = vec![
    Philosopher::new("Judith Butler"),
    Philosopher::new("Gilles Deleuze"),
    Philosopher::new("Karl Marx"),
    Philosopher::new("Emma Goldman"),
    Philosopher::new("Michel Foucault"),
    ];

let handles: Vec<_> = philosophers.into_iter().map(|p| {
    thread::spawn(move || {
        p.eat();
    })
}).collect();

for h in handles {
    h.join().unwrap();
}
Run Code Online (Sandbox Code Playgroud)

他们简要地解释了它的每一个部分,但它们没有解释为什么movethread::spawn()调用中似乎有一个指令和一个逻辑OR :

这个闭包需要一个额外的注释,移动,以指示闭包将取得它捕获的值的所有权.

但是,这个"注释"看起来与其他注释不同,例如类型.这里到底发生了什么,为什么?(搜索该代码片段似乎并没有指向任何地方,只有相同的文档和其他博客文章关于其他类型的moveing.)

syntax concurrency rust

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

在嵌套迭代器中指定生命周期以进行展平

我正在编写一个函数,它应该采用几个向量并生成它们的笛卡尔积(它们的所有对组合)作为行主要顺序的向量.换句话说,如果我有

let x_coords = vec![1, 2, 3];
let y_coords = vec![4, 5, 6];
Run Code Online (Sandbox Code Playgroud)

我想生产

vec![ [1,4], [1,5], [1,6], [2,4], [2,5], [2,6], [3,4], [3,5], [3,6] ]
Run Code Online (Sandbox Code Playgroud)

这似乎是一个完美的工作.flat_map():

fn main() {
    let x_coords = vec![1, 2, 3];
    let y_coords = vec![4, 5, 6];

    let coord_vec: Vec<[isize; 2]> =
        x_coords.iter().map(|&x_coord| {
            y_coords.iter().map(|&y_coord| {
                [x_coord, y_coord]
            })
        }).flat_map(|s| s).collect();

    // Expecting to get: vec![ [1,4], [1,5], [1,6], [2,4], [2,5], [2,6], [3,4], [3,5], [3,6] ]
    println!("{:?}", &coord_vec);
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为&x_coord活得不够久.根据编译器,它最终在y_coords地图内部,然后永远不会让它退出. …

iterator lifetime nested-loops rust

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