小编Xu *_*ang的帖子

如果出错,请不要退出调试器

当我在调试器中时(来自前面的browser语句),如果我找到了给出错误的代码,R退出调试器.但我想留在它里面.我该如何自动执行此操作(例如,当我在调试器中时,我不想手动记住将选项(错误)重置为某些内容.

debugging r

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

如何在persp中只包含其他所有边框

我想做以下几点

set.seed(1)
x <- seq(-10, 10, length= 600)
y <- x
f <- function(x, y) { r <- sqrt(x^2+y^2); 10 * sin(r)/r }
z <- outer(x, y, f)
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "lightblue")
Run Code Online (Sandbox Code Playgroud)

但网格太薄,所以边界占主导地位(你可以确认它确实是边界,而不是通过使用border = NA它的照明.它变成蓝色):

在此输入图像描述

解决的方法之一,当然是使用不那么精细网格的(例如,如果你改变length = 600到length= 50它看起来非常愉快,而且实际上是在例子吗?persp).但我想要与这个精细网格完全相同的形状和光滑.我只是不想绘制所有的边框,例如可能只有1/5(或者我认为我可以自定义的一半).

3d plot r

12
推荐指数
3
解决办法
2586
查看次数

用sudo设置其他用户的gsettings

在Ubuntu 13.10上,我将所有gsettings放在一个文件mygset.sh中.例如,mygset.sh包含许多行,例如

gsettings set com.canonical.Unity.Launcher favorites "['application://nautilus.desktop', 'application://firefox.desktop', 'application://chromium-browser.desktop', 'unity://running-apps', 'unity://expo-icon', 'unity://devices']"
Run Code Online (Sandbox Code Playgroud)

我有一个主安装脚本,我必须使用sudo运行(例如,它执行sudo apt-get install).从我要调用的主安装脚本mygset.sh.但是,无论我如何调用它,都不会更改我的用户的设置.我认为它正在改变root的设置.我已经尝试过(从中masterinstall.sh运行sudo ./masterinstall.sh):

sudo -u "wang" ./mygset.sh
sudo -u "wang" bash -c ./mygset.sh
Run Code Online (Sandbox Code Playgroud)

这些都不起作用(它们运行时没有错误并更改设置[我在脚本中用gsetting get检查]但不是用户"wang").

当我从命令行运行mygset.sh(没有sudo :) bash ./mygset.sh.它完美地运作.为什么会有这种差异,我该怎么做才能解决它masterinstall.sh?

bash shell ubuntu sudo

11
推荐指数
3
解决办法
5058
查看次数

在"浏览oldfiles"列表中使用搜索?

有没有办法在Vim中搜索最近使用的文件列表?列表可以使用显示

browse old
Run Code Online (Sandbox Code Playgroud)

但/不起作用.我知道一些插件(例如MRU)但更喜欢不使用插件.

vim

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

数据帧的粘贴方法

我想将一个数据框输入到粘贴中,我想粘贴它,好像我已经分别输入了该数据帧的列.我想这样做的原因是因为我不确定我的数据帧会有多少列.这里有2个,但我想要一个通用的解决方案来处理任意数量的列.

我想要的输出test1paste在以下代码中.但我不想明确地引用这些列.我的apply尝试可以理解失败,因为它单独作用于列,但我认为它跨越了我正在寻找的解决方案.

> test1 <-
+ structure(c(42.71, 41.69, 46.95, 48.85, 45.26, 44.71, 43.71,
+ 42.69, 47.95, 49.85, 46.26, 45.71), .Dim = c(6L, 2L))
>
> test1paste <- paste(test1[,1],test1[,2], sep = "&")
> test1paste
[1] "42.71&43.71" "41.69&42.69" "46.95&47.95" "48.85&49.85" "45.26&46.26"
[6] "44.71&45.71"
>
> apply(test1,MARGIN=2,paste,sep="&")
     [,1]    [,2]
[1,] "42.71" "43.71"
[2,] "41.69" "42.69"
[3,] "46.95" "47.95"
[4,] "48.85" "49.85"
[5,] "45.26" "46.26"
[6,] "44.71" "45.71"
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

谢谢!

r

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

在R中选择哪个级别是lm回归中的因子的基本类别的最佳方式

假设我想使用lm和factor作为右侧变量运行回归.选择因子中哪个级别为基本类别(排除以避免多重共线性的级别)的最佳方法是什么.请注意,我对排除拦截不感兴趣,因为我有很多因素.

我还想要一个基于公式的解决方案,而不是直接作用于data.frame的解决方案,尽管如果你认为你有一个非常好的解决方案,请发布它.

我的解决方案是:

base_cat <- function(x) c(x,1:(x-1),(x+1):100) 
a_reg <- lm(y ~ x1 + x2 + factor(x3, levels=base_cat(30)) #suppose that x3 has draws from the integers 1 to 100.
Run Code Online (Sandbox Code Playgroud)

左边的类别lm是因子中的第一个级别,因此这只是重新排序级别,以便指定的级别是第一个级别base_cat(),然后将其余级别放在后面.

还有其他想法吗?

r lm r-factor

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

ifelse是否适用于非矢量化情况,反之亦然?

(背景信息:ifelse评估两个表达式,即使只返回一个.编辑:这是一个不正确的声明.请参阅Tommy的回复)

有没有ifelse在非矢量化情况下使用有意义的例子?我认为,当我们不关心小的效率增益时,"可读性"可能是一个有效的答案,但除此之外,它是否更快/等同/更好地以其他方式使用ifelse当a if然后else会做工作?

同样,如果我有矢量化的情况,ifelse总是最好的工具使用?两个表达式都被评估似乎很奇怪.是否更快地逐个循环并做一个正常if然后else呢?我猜它只有在评估表达式花了很长时间才有意义.还有其他不涉及显式循环的替代方案吗?

谢谢

r

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

C++中长字符串的Perl样式引号

有没有办法在C++中引用字符串而不必使用反斜杠转义?例如,我想要一种方法将一些Latex代码存储在一个字符串中,例如\documentclass{article}.我可以

string latex_code = "\\documentclass{article}"
Run Code Online (Sandbox Code Playgroud)

但是当你必须逃避很多事情时,这会很烦人,例如,如果你有很多Latex代码.在Perl中,我记得你有一些非常有用的引用工具.例如,请参见"q"和"qq"部分:http://www.perlmonks.org/?node_id = 401006

C++中有类似的东西吗?我能想到的唯一另一件事就是将Latex代码粘贴到外部文件中并将其读入.但这看起来也很烦人.

c++ perl latex

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

来自IP地址的邮政编码和其他地理数据的R包?

我有一个大约200,000个IP地址的列表.我想将这些链接到地理位置,并获取IP地址可以提供的任何其他数据.

到目前为止,我发现的最好的是由infochimps提供的服务:http: //www.infochimps.com/datasets/digital-element-ip-intelligence-demographics 还有一个用于infochimps的R包.但是,infochimps要求你支付200,000个IP地址,这可能会变得昂贵.

有没有R包可以做这样的事情?

谢谢

r

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

C++正则表达式不理解

以下输出"> Hut",我希望它输出"Hut".我知道.*贪婪但是必须匹配并且它在捕获组之外,那为什么它在我的子匹配中呢?

#include <string>
#include <regex>
#include <iostream>

using namespace std;

int main() {
        regex my_r(".*>(.*)");
        string temp(R"~(cols="64">Hut)~");
        smatch m;
        if (regex_match(temp, m, my_r)) {
                cout << m[1] << endl;
        }
}
Run Code Online (Sandbox Code Playgroud)

c++ regex

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

标签 统计

r ×6

c++ ×2

3d ×1

bash ×1

debugging ×1

latex ×1

lm ×1

perl ×1

plot ×1

r-factor ×1

regex ×1

shell ×1

sudo ×1

ubuntu ×1

vim ×1